如何获取符号“:
”后面的所有文本?
我已经尝试过:
'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/