我想写一个与单词hello
匹配的regex,但只有当它开始一行或前面有空格时。我不想匹配空白如果它在那里…我只需要知道它(或行的开始)在那里。在
所以我试过:
r = re.compile('hello(?<=\s|^)')
但这会引发:
^{pr2}$例如,如果要搜索的字符串是:
s = 'hello world hello thello'
然后我希望我的正则表达式匹配两次…在下面大写的位置:
'HELLO world HELLO thello'
其中第一个匹配是因为它前面有行的开始,而第二个匹配是因为它前面有一个空格。最后5个字符不匹配,因为它们前面有t
。在
(?:(?<=\s)|^)hello
就是你想要的。lookbehind必须在正则表达式的开头;而且它必须是固定宽度的-\s
是1个字符宽,而{|
组合。在这种情况下,我们不需要,只需交替使用(?<=\s)
和{注意,这两个仍然匹配hellooo;如果这不可接受,则必须在末尾添加
\b
。在相关问题 更多 >
编程相关推荐