求提取字符串首个分号前数字的正则表达式方案
解决方案
一步到位的正则表达式
直接用下面的正则就能提取首个分号前的数字部分:
^\D*(\d+,\d+);
正则拆解
^:锚定字符串开头\D*:匹配任意数量的非数字字符(跳过开头的字母、空格等无关内容)(\d+,\d+):捕获目标数字段,其中:\d+:匹配一个或多个数字,:匹配作为小数点分隔符的逗号
;:匹配首个分号,确保只截取分号前的内容
使用示例
针对输入字符串:
DE 199,00;AT 219,99; IT 399,00
正则会捕获分组1的内容:199,00
针对输入字符串:
DE 79,00;AT 99,99; IT 119,00
捕获到的内容为:79,00
基于你现有思路的补充方案
如果你已经通过^[^;]*拿到了首个分号前的完整片段(比如DE 199,00),可以对这个片段单独用以下正则提取数字:
\d+,\d+
这个正则会直接匹配片段里的数字部分,无需额外处理。
内容的提问来源于stack exchange,提问作者Jack Doe
相关产品推荐
相关产品推荐

