我想从下面的短语中提取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
答案 0 :(得分:6)
尝试
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)