2017-12-27 2226 views
-5

我需要这个正则表达式转换为Python语言:翻译正则表达式的Python

(([[:alpha:]]|\.)*/PERSON([[:space:]]|$))+ 

我有一个包含的人与/人的标签,并没有那么换句话说名.txt文件标签。

Leo/PERSON Messi/PERSON hello 

一旦你做出了相当的程序在python上述正则表达式,输出必须是这个(标签/人所有的名字,其他的话都没有):

Leo/PERSON Messi/PERSON 
+1

您可以在你的问题,你在Python拥有的代码? –

+0

什么阻止你做翻译?我知道这听起来像是一个陈词滥调,但你的问题没有表明你的努力。 SO并不打算成为一个免费的编码服务,您可以发布请求,并且人们会为您做。我们需要你尝试一下。首先回顾一下实现Python正则表达式引擎的[re module](https://docs.python.org/3/library/re.html)的Python文档。正如在这个问题上的其他评论和回答所显示的,*有时*人们会善意地做到这一点,但你不应该期待它。 – skrrgwasme

+0

'(?:[a-zA-Z。] */PERSON(?:\ s | $))+'?花了我2分钟。查看https://regex101.com/ – ctwheels

回答

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 '