如何使\b接受以';开头的单词+';在python中使用正则表达式? 为什么这个正则表达式没有找到 + 359 < /代码>,我如何使 \b>代码>考虑从 +>代码>开始的单词? < p>不能更改 \b/COD>的行为。你必须使用不同的锚;类似于\B,它匹配单词开头或结尾以外的任何位置;它与\b相反: re.search(r"\b\+359\b","Is your phone number +359 887438?")
如果如何使\b接受以';开头的单词+';在python中使用正则表达式? 为什么这个正则表达式没有找到 + 359 < /代码>,我如何使 \b>代码>考虑从 +>代码>开始的单词? < p>不能更改 \b/COD>的行为。你必须使用不同的锚;类似于\B,它匹配单词开头或结尾以外的任何位置;它与\b相反: re.search(r"\b\+359\b","Is your phone number +359 887438?"),python,regex,Python,Regex,如果+前面没有单词字符,则此项再次匹配,而该字符本身是非单词字符。如果\b只能在单词和非单词字符之间匹配(因此word\bNONWORD或nonword\bWORD),则\b需要两个非单词或两个单词字符来匹配(因此word\bWORD或nonword\bNONWORD)。由于+是非单词字符,因此+前面的任何字符也必须是非单词字符 或者,您也可以使用背面的负面外观: \B\+359\b (? (?否定查找后断言仅匹配位置前面没有单词字符的位置 演示: >>重新导入 >>>重新搜索(r“\b\+3
+
前面没有单词字符,则此项再次匹配,而该字符本身是非单词字符。如果\b
只能在单词和非单词字符之间匹配(因此word\bNONWORD
或nonword\bWORD
),则\b
需要两个非单词或两个单词字符来匹配(因此word\bWORD
或nonword\bNONWORD
)。由于+
是非单词字符,因此+
前面的任何字符也必须是非单词字符
或者,您也可以使用背面的负面外观:
\B\+359\b
(?
(?否定查找后断言仅匹配位置前面没有单词字符的位置
演示:
>>重新导入
>>>重新搜索(r“\b\+359\b”,“您的电话号码是+359 887438吗?”)
>>>重新搜索(r“\B\+359\B”,“您的电话号码是+359 887438吗?”)
>>>re.search(r)(?你不能改变\b
的行为。你必须使用不同的锚;比如\b
,它匹配任何不在单词开头或结尾的地方;它与\b
相反:
re.search(r"\b\+359\b","Is your phone number +359 887438?")
如果在+
前面没有单词字符,而\b
本身是非单词字符,则此项再次匹配。其中\b
只能在单词和非单词字符之间匹配(因此单词\b非单词
或非单词\b单词
),则\b
需要两个非单词或两个单词字符来匹配(因此WORD\b单词
或NONWORD\b单词
)。由于+
是非单词字符,因此+
前面的任何字符也必须是非单词字符
或者,您也可以使用背面的负面外观:
\B\+359\b
(?
(?否定查找后断言仅匹配位置前面没有单词字符的位置
演示:
>>重新导入
>>>重新搜索(r“\b\+359\b”,“您的电话号码是+359 887438吗?”)
>>>重新搜索(r“\B\+359\B”,“您的电话号码是+359 887438吗?”)
>>>再搜索(r)(?是“\B”在Python的正则表达式中受支持?第一部分做什么?哈——否定否定会伤到我的头。OP建议按照NOTWORD\bWORD
,使用\b\+x
,但是中间有一个+
。它不起作用,因为\b
需要一个单词边界。那么你能使用\b
吗?(编辑)好的,那是肯定的:-)@Jongware:你可以,因为\B
只能匹配非单词\B非单词
或WORD\B单词
。而+
使一方成为非单词
,所以另一方也必须是非单词
。是“\B”在Python的正则表达式中受支持?第一部分做什么?哈——否定否定会伤到我的头。OP建议按照NOTWORD\bWORD
,使用\b\+x
,但是中间有一个+
。它不起作用,因为\b
需要一个单词边界。那么你能使用\b
吗?(编辑)好的,那是肯定的:-)@Jongware:你可以,因为\B
只能匹配非单词\B非单词
或WORD\B单词
。+
使一方成为非单词
,所以另一方也必须是非单词
。