在python中使用正则表达式时的单词边界是什么

Raj*_*eev 1 python

什么是python中的单词边界.有人可以用例子解释一下,

实施例:1

>>> x = '456one two three123'
>>> y=re.search(r"\btwo\b",x)
>>> y
<_sre.SRE_Match object at 0x2aaaaab47d30>
Run Code Online (Sandbox Code Playgroud)

例如:2

>>> y=re.search(r"two",x)
>>> y
<_sre.SRE_Match object at 0x2aaaaab47d30>
Run Code Online (Sandbox Code Playgroud)

示例3:

>>> ip="192.168.254.1234"
>>> if re.search(r"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b",ip):
...    print ip
...
Run Code Online (Sandbox Code Playgroud)

范例4:

>>> ip="192.168.254.1234"
>>> if re.search(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",ip):
...    print ip
192.168.254.1234
Run Code Online (Sandbox Code Playgroud)

Kar*_*tel 8

"单词边界"的意思正是它所说的:单词的边界,即开头或结尾.

它与输入中的任何实际字符都不匹配,但只有在当前匹配位置位于单词的开头或结尾时才会匹配.

这很重要,因为与刚刚匹配的空格不同,它也会在整个输入的开头或结尾处匹配.

因此'\bfoo'将匹配'foobar''foo bar''bar foo',但不会'barfoo'.

'foo\b'将匹配'foo bar''bar foo''barfoo',但不会'foobar'.