我正在尝试查找Unicode模式,但它总是返回一个空列表[ ]。我在 Kwrite 中尝试了相同的模式,效果很好。
我已经尝试过 \u \\u 代替 \w,但对我不起作用。这里的 Unicode 字符串可以是任何 Unicode 字符串。
InputString=r"[[ਅਤੇCC_CCD]]_CCP"
Result = re.findall(r'[[]+[w]+\w+[]]+[_]w+',InputString,flags=re.U)
print(Result)
ਤ
和 之间似乎有一个额外的字符
ੇ
,这是 w+
无法匹配的。它的十六进制值是0xA47
所以,我在正则表达式中添加了[u0A47]
。
试试这个正则表达式:
[+w+[u0A47]\w+]]w+
点击查看演示
解释:
-
[+
- 匹配 1+ 次[
-
w+
- 匹配单词字符的 1+ 次出现次数 -
[^\]*
- 匹配任何未字符的 0+ 出现
次数 -
\
- 比赛 -
w+
- 匹配单词字符的 1+ 次出现次数 -
]]
- 比赛]]
-
w+
- 匹配单词字符的 1+ 次出现次数
蟒蛇代码
这些词来自古尔穆奇语。Unicode 范围为 0A00 - 0A7F
。所以你也可以使用正则表达式:
[+[u0A00-u0A7F]+\w+]]w+
点击查看演示