reg-expression:带有\ t \ n \ r的单词边界

最佳

我正在寻找一个正则表达式,如果该单词不是子单词,它将映射。
从逻辑上讲,这可以通过单词边界实现: \bHelloWorld\b

但是,当文本中有\t\n时,它们将不起作用。 例如:

HelloWorld is a beautiful word\nHelloWorld\t\t\tHelloWorld HelloWorld \t HelloWorld nopHelloWorld  HelloWorldnop \tnopHelloWorld ...

因此在上面的示例中,我想找到5个HelloWorld的

额外信息:\ n \ t \ r分别是:换行,制表符和回车  (因此没有2个单独的字符)

woshijxsd0001 回答:reg-expression:带有\ t \ n \ r的单词边界

如果不是原始字符串,Python将插入转义的控制字符。
因此,这不是原始字符串(此字符串用单引号引起)时的解析结果:

>>> print ('HelloWorld is a beautiful word\nHelloWorld\t\t\tHelloWorld HelloWorld \t HelloWorld nopHelloWorld  HelloWorldnop \tnopHelloWorld ...')
HelloWorld is a beautiful word
HelloWorld                      HelloWorld HelloWorld    HelloWorld nopHelloWorld  HelloWorldnop    nopHelloWorld ...

与预期的{h3}匹配5个Hello World

但是,如果原始字符串是 raw 字符串,则它将仅匹配3 https://regex101.com/r/8TwxCO/1

>>> print (r'HelloWorld is a beautiful word\nHelloWorld\t\t\tHelloWorld HelloWorld \t HelloWorld nopHelloWorld  HelloWorldnop \tnopHelloWorld ...')
HelloWorld is a beautiful word\nHelloWorld\t\t\tHelloWorld HelloWorld \t HelloWorld nopHelloWorld  HelloWorldnop \tnopHelloWorld ...
本文链接:https://www.f2er.com/3164088.html

大家都在问