0

正規表現に問題があります。mt940銀行取引明細書ファイルの行に一致する小さなプログラムを書いています。私はこのような単純な文字列を持っています:

:60F:C120613PLN245265,82

そして正規表現:

([C|D]{1})|([0-9]{6})|([A-Z]{3})|([0-9]+(\,[0-9]{2}))

それは私を返します

C
120613
PLN
143783 
4,82

しかし、最後の2行は分離されており、次のように、最後の2行は分離されていません。

C
120613
PLN
1437834,82

最後の行には「、」の前に6つの数字があり、これは私のパターン全体の2番目のパターンに一致すると思います。

分離されていない最後の2つの単語を取り戻すために私は何ができますか?

4

1 に答える 1

1

このパターンは私のために働きます:

pattern "([C|D]{1})([0-9]{6})([A-Z]{3})([0-9]+,[0-9]{2})"

Pythonでテストしました:

re.findall(pattern, ":60F:C120613PLN245265,82") // [('C', '120613', 'PLN', '245265,82')]
于 2012-06-22T08:30:08.623 に答える