2012-03-01 4 views
2

を再括弧の間のテキスト:それぞれの場合取得正規表現を使用してから私は、特定のコンテンツを抽出したい文字列の配列を持っている

link.description 
button.text 

:私は次の出力を取得したい

['link.description', 'button.text]] </li>'] 

配列内の文字列は、私は以下を行います:

str = re.findall('(.*?)\]+', str) 

上記の正規表現では、私はbutton.textを得ることができます。 link.descriptionとbutton.textの両方をどのように取得するのですか?私は使用しようとしました:

str = re.findall('(.*?)\]*', str) 

しかし、上記の私は戻ってstrの空白の束を与えます。

答えて

3

このような単純なタスクに正規表現は必要ありません。また、あなたのコードはおそらく正規表現なしで意味をなさないでしょう。この場合

は、あなたは、単にstr.split()を使用することができます。

>>> thingies = ['link.description', 'button.text]] </li>'] 
>>> different_thingies = [thingy.split(']')[0] for thingy in thingies] 
>>> different_thingies 
['link.description', 'button.text'] 
0

フム、+ \]してみてください。それはあなたが欲しいものですか? (アスタリスクは、「0回以上一致しています」と表示しています。実際にはよく一致します)

関連する問題