我正在尝试创建一个与单词(仅限a-z)不匹配的正则表达式,如果该单词的末尾有:
但是匹配它。但是,这个词位于较大的正则表达式的中间,所以我(不要认为)你可以使用负面的lookbehind和$
元字符。
我尝试了这种消极的前瞻:
([a-z]+)(?!:)
但是这个测试用例
example:
与
匹配exampl
而不是失败。
答案 0 :(得分:4)
如果你使用负向前瞻,你可以把它放在开头:
(?![a-z]*:)[a-z]+
即:“匹配至少一个a-z字符,除非以下字符为0到n'a-z'后跟':'”
这将支持更大的正则表达式:
X(?![a-z]*:)[a-z]+Y
将匹配以下字符串:
Xeee Xrrr:Y XzzzY XfffZ
只有'XzzzY'
答案 1 :(得分:0)
试试这个:
[a-z]\s
答案 2 :(得分:0)
([a-z]+\b)(?!:)
在比赛结束时断言一个单词边界,因此将失败“exampl”
答案 3 :(得分:0)
[A-Z] +(?![:A-Z])