我需要将这个正则表达式翻译成python语言:
(([[:alpha:]]|\.)*/PERSON([[:space:]]|$))+
我有一个.txt文件,其中包含带有/ PERSON标记的人的姓名和其他没有标记的单词。
Leo/PERSON Messi/PERSON hello
一旦你在python中使用上面的正则表达式的等效程序,输出必须是这个(所有名称带有标签/ PERSON,其他单词不是):
Leo/PERSON Messi/PERSON
答案 0 :(得分:0)
您可以使用正则表达式:
(?:[A-Za-z.]*/PERSON\s*)+
[A-Za-z.]*
匹配[A-Za-z.]
/PERSON\s*
匹配/PERSON
后跟零个或多个空格
以上内容放在未捕获的群组中,并通过+
令牌将该群组匹配一次或多次。
示例:强>
In [9]: re.search(r'(?:[A-Za-z.]*/PERSON\s*)+', 'Leo/PERSON Messi/PERSON hello').group()
Out[9]: 'Leo/PERSON Messi/PERSON '