我正在尝试查找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)
答案 0 :(得分:1)
ੇ
和ਤ
之间似乎有一个额外的字符\
,\w+
无法匹配。它的十六进制值为0xA47
,因此,我在正则表达式中添加了[\u0A47]
。
尝试此正则表达式:
\[+\w+[\u0A47]\\\w+]]\w+
说明:
\[+
-匹配1次以上的[
\w+
-匹配1次以上的word character [^\\]*
-匹配0+次出现的不是\
的任何字符\\
-匹配\
\w+
-匹配1个以上出现的单词字符]]
-匹配]]
\w+
-匹配1个以上出现的单词字符这些单词来自Gurmukhi语言。 Unicode范围是0A00 - 0A7F
。因此,您也可以使用正则表达式:
\[+[\u0A00-\u0A7F]+\\\w+]]\w+