【发布时间】:2021-10-01 09:37:30
【问题描述】:
我想把这种字符串分成3组
"02.01. 02.01. Pay card PN:123 6562,58 S"
group1 应该匹配“02.01.02.01.”
group2 应该匹配“支付卡 PN:123”
group3 应该匹配“6562,58 S”(这部分可以根据数量变化,即 1,99 H)
我的正则表达式看起来像这样
^([0-9][0-9]\.[0-9][0-9]\. [0-9][0-9]\.[0-9][0-9]\.)(.*)(\d+\,[0-9][0-9].*)
但是 group3 只会匹配“2,58 S”而不是“6562,58 S”
什么是正确的正则表达式?
【问题讨论】:
-
不要使用
(.*)来匹配间隙,而是使用仅排除数字的东西,例如([^0-9]+)