ant*_*avy 5 python regex python-2.7
我试图匹配任何语言中包含一个单词的所有字符串。我的搜索使我找到了 Python 的 Re 模块中没有的 \p{...}。但我找到了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 ????????
Run Code Online (Sandbox Code Playgroud)
和:
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()
Run Code Online (Sandbox Code Playgroud)
结果只是拉丁字符词:
12312 dfsdf
Run Code Online (Sandbox Code Playgroud)
你应该传递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})+$', ])
Run Code Online (Sandbox Code Playgroud)