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

但是最后两行是分开的,我会收回不分开的最后两行,如下所示:

C
120613
PLN
1437834,82

我认为,最后一行在“,”之前有 6 个数字,这与我的整个模式中的第二个模式匹配。

我能做些什么来恢复最后两个单词没有分开?

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 回答