Javascript 正则表达式( ":"符号后匹配)

标签 javascript regex

如何获取符号“:”后面的所有文本?

我已经尝试过:

'prop:bool*'.match(/:(.[a-z0-9]+)/ig)

但它返回[":bool"]而不是["bool"]

更新:

我需要在以下表达式中使用它:

'prop:bool*'.match(/^[a-z0-9]+|:.[a-z0-9]+|\*/ig);
这样结果就变成了:
["prop", "bool", "*"]

最佳答案

您可以通过执行积极的 lookbehind 来解决此问题行动。

'prop:bool*'.match(/^[a-z0-9]+|(?<=:).[a-z0-9]+|\*/ig)

正向回顾是 (?<=:)正则表达式的一部分,此处将说明 must follow ':' 的规则.

结果应该是 ["prop", "bool", "*"] .

编辑:

原始要求被原始发布者进行了一些修改,以返回三组答案。我的原始代码返回一个答案,如下: 'prop:bool*'.match(/(?<=:).[a-z0-9]+/ig)

关于Javascript 正则表达式( ":"符号后匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54119146/

相关文章:

ruby - Anchor\z 和\G 在 Ruby 中是如何工作的?

Javascript 字符串模式验证

当不在引号中时,javascript无法删除对象键

javascript - 使用 mysql 而不是 mongodb 的 Botkit

javascript - 你如何阅读这个 JavaScript 正则表达式?

python - 在 Pandas 中创建年份列

javascript - 至少有一位数字的六个字符的正则表达式

单击时将 JavaScript 对象/数组值转换为表单输入

javascript - 视口(viewport)中幻灯片上的滑动 slider 事件类和仅一张幻灯片上的当前类

V8 中的 Javascript 等价物?