1

以下のフレーズから FIRST と SECOND の 2 つの単語を抽出したいのですが、この正規表現を使用してスラッシュの前の単語を取得しようとしましたが、うまくいきません:

 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 
4

1 に答える 1

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)
于 2013-04-19T13:27:01.707 に答える