2

私はPythonで正規表現を初めて使用しますが、単純なケースは簡単ですが、を使用して文字列から複数の単語を抽出するのに問題があります。文字列は次のようになります。

lyne = "| 0x008d | 2345 | 0xe54b5b42 | 0520|0x02緑|4赤|"

|と|の間の異なる部分文字列にアクセスします | match.groupを使用する

これを行う方法はありますか...誰か助けてください

ありがとう

4

2 に答える 2

2

正規表現の必要はありません:

substrs = [x.strip() for x in lyne.split('|') if x]
于 2013-02-21T01:34:32.753 に答える
2

あなたがそれをするだけで使うことができないどんな理由lyne.split('|')でも、そうでなければre.split()同じことで使う...

本当に正規表現が必要な場合(分割ではなく一致/検索)、(スペースを削除):

>>> re.findall(r'\|?\s*(.*?)\s*\|', lyne)
['0x008d', '2345', '0xe54b5b42', '0520', '0x02 GREEN', '4 RED']
于 2013-02-21T01:34:48.583 に答える