簡體   English   中英

Python 正則表達式 理解邊界“\b”

[英]Python regular expression Understanding Boundary “\b”

輸入:

- "example (.com)"

output:

- "example"

我試過的

import re
pattern=re.compile(r'\b\([\W\w]+\)\b')
#pattern=re.compile(r'\([\W\w]+\)')
print(pattern.sub("","example (.com)"))

這不起作用,但如果我刪除\b它工作正常 - 為什么?

讓自己清楚\b代表什么:

(?:(?=\w)(?<!\w)|(?<=\w)(?!\w))

也就是說,要么是一個單詞字符在前面而不是在后面,或者相反。 單詞字符 ( \w ) 代表[A-Za-z0-9_]並且不包括( or ) ,因此空格和括號之間沒有單詞邊界。

(不是單詞邊界,因此\b不會匹配它。相反,您可以使用\B匹配空白

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM