gpt4 book ai didi

python - 如何在 python 正则表达式中实现\p{L}

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:49 25 4
gpt4 key购买 nike

我试图匹配任何语言中包含一个单词的所有字符串。我的搜索让我找到了\p{...} ,它在 python 的 Re 模块中是不存在的。但是我发现https://pypi.python.org/pypi/regex .它应该与\p{...} 命令一起使用。虽然不是。

我尝试解析这些行:

7652167371  apéritif
78687 attaché
78687 époque
78678 kunngjøre
78678 ærbødig
7687 vår
12312 dfsdf
23123 322432
1321 23123
2312 привер
32211 оипвыола

与:

def Pattern_compile(pattern_array):
regexes = [regex.compile(p) for p in pattern_array]
return regexes

def main():
for line in sys.stdin:
for regexp in Pattern_compile(p_a):
if regexp.search (line):
print line.strip('\n')

if __name__ == '__main__':
p_a = ['^\d+\t(\p{L}|\p{M})+$', ]
main()

结果只有拉丁字符词:

12312   dfsdf

最佳答案

您应该传递 unicode。 (正则表达式和字符串)

import sys

import regex


def main(patterns):
patterns = [regex.compile(p) for p in patterns]
for line in sys.stdin:
line = line.decode('utf8')
for regexp in patterns:
if regexp.search (line):
print line.strip('\n')

if __name__ == '__main__':
main([ur'^\d+\t(\p{L}|\p{M})+$', ])

关于python - 如何在 python 正则表达式中实现\p{L},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com