正则表达式在斜杠前提取单词

时间:2013-04-19 13:25:00

标签: python regex

我想从下面的短语中提取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 

1 个答案:

答案 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)