Python3:
import re
k = "X"
s = "X測驗一Q測驗二XQ測驗三"
print(re.split((r"\b" k r"\b"), s))
輸出:
['X測驗一Q測驗二XQ測驗三']
預期的:
['', '測驗一Q測驗二XQ測驗三']
uj5u.com熱心網友回復:
是屬于該類測的字母,和\p{Lo}之間沒有單詞邊界 。X測
默認情況下,在\bPython 3.x 模式中,字邊界構造是 Unicode 感知的,因此您可以使用/選項或行內標志re關閉此行為:re.ASCIIre.A(?a)
import re
k = "X"
print( re.split(fr"(?a)\b{k}\b", "X測驗一Q測驗二XQ測驗三") )
請參閱正則運算式演示和Python 演示。
如果您需要確保前后沒有 ASCII 字母X,請使用(?<![a-zA-Z])X(?![a-zA-Z]). 或者,包括數字,(?<![a-zA-Z0-9])X(?![a-zA-Z0-9]).
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/483113.html
標籤:Python python-3.x 正则表达式 词界
