我遇到麻烦匹配字符串与正则表达式(我没有经验与正则表达式)。我有一个字符串,其中包含每个单词和标签后面的正斜杠。举个例子:正则表达式单词中的单词与全阻
led/O by/O Timothy/PERSON R./PERSON Geithner/PERSON ,/O the/O president/O of/O the/O New/ORGANIZATION
在这些字符串,我只是在这之前/PERSON
所有字符串感兴趣。下面是我想出了正则表达式模式:
(\w)*\/PERSON
而且我的代码:
match = re.findall(r'(\w)*\/PERSON', string)
基本上,我匹配/PERSON
之前出现的单词。输出:
>>> reg
['Timothy', '', 'Geithner']
我的问题是,第二场比赛,匹配到一个空字符串作为R./PERSON
,点不是单词字符。我改变了我的正则表达式来:
match = re.findall(r'(\w|.*?)\/PERSON', string)
但比赛现在是:
['led/O by/O Timothy', ' R.', ' Geithner']
这是第一个/人,其中包括led/O by/O
,而不是只匹配Timothy
之前采取一切。有人可以帮助我如何做这个匹配,而包括一个完整的中止作为一个缩写?或者至少,没有一个空字符串匹配?
感谢,