我试图设计与标识符匹配的正则表达式,除非它是一个保留关键字。
以下是我尝试过的内容:(?!{}(?![_a-zA-Z0-9]))[_a-zA-Z][_a-zA-Z0-9]*
其中{}
被if|else|while
替换为ifa
。不幸的是,它无法将开始的任何与保留关键字匹配,因此>>> s = re.search(r"\bwater\b", "Need water")
>>> s.start()
5
>>> s = re.search(r"\bwater\b", "water is needed")
>>> s.start()
0
之类的内容无法通过。
如何设计正确的正则表达式?
答案 0 :(得分:1)
您似乎缺少的部分是字边界的results_label
。这些方面应该有用:
\b