Python正则表达式,用于匹配前面有行首或whitesp的模式

2024-10-06 11:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个与单词hello匹配的regex,但只有当它开始一行或前面有空格时。我不想匹配空白如果它在那里…我只需要知道它(或行的开始)在那里。在

所以我试过:

r = re.compile('hello(?<=\s|^)')

但这会引发:

^{pr2}$

例如,如果要搜索的字符串是:

s = 'hello world hello thello'

然后我希望我的正则表达式匹配两次…在下面大写的位置:

'HELLO world HELLO thello'

其中第一个匹配是因为它前面有行的开始,而第二个匹配是因为它前面有一个空格。最后5个字符不匹配,因为它们前面有t。在


Tags: 字符串rehelloworld单词空白regex空格
1条回答
网友
1楼 · 发布于 2024-10-06 11:20:21

(?:(?<=\s)|^)hello就是你想要的。lookbehind必须在正则表达式的开头;而且它必须是固定宽度的-\s是1个字符宽,而{}是0个字符,因此不能将它们与|组合。在这种情况下,我们不需要,只需交替使用(?<=\s)和{}。在

注意,这两个仍然匹配hellooo;如果这不可接受,则必须在末尾添加\b。在

相关问题 更多 >