/(?![a-z]+:)/
有谁知道?
答案 0 :(得分:3)
/
是分隔符。
[a-z]
是character class(a-z范围内的任何字符)
+
是上述模式的one-or-more times(在这种情况下为[a-z]
)
:
只是冒号
它大致意味着“向前看并确保没有字母后跟冒号”。
这个正则表达式更有意义,如果它有一个字符串锚点的开始:/^(?![a-z]+:/
,所以它不匹配abc:
(就像其他答案之一所说),但没有({{ {1}})我不知道这有多大用处。
答案 1 :(得分:2)
根据Regex Buddy(我强烈推荐的产品):
Assert that it is impossible to match the regex below starting at this position (negative lookahead) «(?![a-z]+:)»
Match a single character in the range between “a” and “z” «[a-z]+»
Between one and unlimited times, as many times as possible, giving back as needed (greedy) «+»
Match the character “:” literally «:»
答案 2 :(得分:0)
(?!REGEX)
是negative lookahead的语法。检查链接以获得前瞻的解释。
如果模式[a-z]+:
出现在当前位置的字符串中,则正则表达式失败。如果找不到模式,则正则表达式会成功,但不会消耗任何字符。
匹配123:
或abc
但不匹配 abc:
它会匹配:
中的abc:
。