我正在尝试创建一个正则表达式,使其匹配任何字符串,其中包含一些首字母,空格或逗号,后跟字符串'[edit]'。这是我写的代码:
if re.match(r'[A-Za-z ,]+\[edit\]', value):
print('ha')
else:
print('na')
它不会给出假阴性,即它匹配字符串'banana [edit],但它也匹配'banana [edit] a'。据我所知,当它找到所需的子字符串并返回匹配时,它会重新停止评估,而不是这样。
如何编写正则表达式,使其与“banana [edit] a”类型的任何字符串都不匹配?
答案 0 :(得分:3)
只是做:
if re.match(r'[A-Za-z ,]+\[edit\]$', value):
^
此处,$
表示字符串的结尾。
答案 1 :(得分:2)
如果您希望表达式后面的字符不匹配,只需指定该字符串的末尾带有特殊的if re.match(r'[A-Za-z ,]+\[edit\]$', ...
字符:
subscript