我的正则表达式有问题。 我正在编写一个与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个数字,与我整个模式中的第二个模式匹配。
我可以做些什么来回避最后两个没有分开的词?
答案 0 :(得分: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')]