gpt4 book ai didi

java - 正则表达式java从字符串中提取余额

转载 作者:行者123 更新时间:2023-11-30 08:18:31 25 4
gpt4 key购买 nike

我有一个字符串,其中包含“亲爱的用户BAL= 1,234/”
我想使用正则表达式从字符串中提取 1,234 。它可以是 1,231,23455,213500

final Pattern p=Pattern.compile("((BAL)=*(\\s{1}\\w+))");
final Matcherm m = p.matcher(text);
if(m.find())
return m.group(3);
else
return "";

这将返回3
我应该使用什么正则表达式?我是正则表达式新手。

最佳答案

您在正则表达式中搜索单词字符 \w+,但您应该搜索带有 \d+ 的数字。

此外还有逗号,因此您也需要匹配它。

我会用

/.BAL=\s([\d,]+(?=/)./

作为模式并仅获取结果组中的数字。

说明:.* 匹配之前的任何内容BAL= 匹配字符串“BAL=”\s 匹配空格( 开始匹配组[\d,]+ 匹配每个数字或逗号一次或多次(?=/) 仅当后跟斜杠时才匹配前者) 结束匹配组.* 匹配其后的任何内容

这是未测试的,但它应该像这样工作:

final Pattern p=Pattern.compile(".*BAL=\\s([\\d,]+(?=/)).*");
final Matcherm m = p.matcher(text);
if(m.find())
return m.group(1);
else
return "";

根据online tester ,上面的模式与文本匹配:

BAL= 1,234/

关于java - 正则表达式java从字符串中提取余额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com