我想从下面的短语中提取 FIRST 和 SECOND 这两个词,我已经尝试使用这个正则表达式来获取斜线之前的词,但它不起作用:/顺便说一句,它在 python 上:
import re
data = "12341 O:EXAMPLE (FIRST:/xxxxxx) R:SECOND/xxxxx id:1234"
data2 = "12341 O:EXAMPLE:FIRST2:/xxxxxx) R:SECOND2/xxxxx id:1234"
result = re.findall(r'[/]*',data)
result2 = re.findall(r'[/]*',data2)
print result,result2
请您参考如下方法:
尝试
result = re.findall(r'\w+:?(?=/)',data)
解释:
\w+ # Match one or more alphanumeric characters
:? # Match an optional colon
(?=/) # Assert that the next character is a slash
如果您不希望冒号成为匹配项的一部分(您的问题对此不清楚),请将可选的冒号放入先行断言中:
result = re.findall(r'\w+(?=:?/)',data)
