假设我有这个字符串:
key something.key() (.key)(key)
我希望正则表达式仅匹配“[]”内的单词“keys”
[key] something.key() (.key)([key])
我目前使用了这个正则表达式/(?!\.)key/g
但这仅排除了点,并且仍然选择单词,即使它以点开头。
最佳答案
使用负字符类来匹配不是点:
[^\.]
然后添加^
匹配字符串开头的不是点 或:
([^\.]|^)
添加?:
给该组以使其不被捕获。
(?:[^\.]|^)
最后添加与您的单词匹配的捕获组:
(?:[^\.]|^)(word)
您可以使用负后视来实现相同的结果:
(?<!\.)word
唉,JavaScript 正则表达式并没有实现它。
关于javascript - 正则表达式 : only match word if it doesn't start with a dot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44946556/