寂寞不孤单 2016-03-10 03:39 采纳率: 16.7%
浏览 961

java 正则匹配数据中的金钱数字

A文件数据:
1001分店20121231,元旦之际祝您新年快乐,身体健康,万事如意.
您共欠担保公司¥103,959.50元。请您尽快偿还欠款,以免扩大损失。
您的借款已逾期6天,欠款金额为1988.20元,逾期将影响信用记录,请即刻缴纳。
截止 2015年07月01日 您应还金额为:4128元。如有疑问,请联系王先生1101101010。
你好,截至到昨天夜里23:59,你欠款34532.32元,请您尽快偿还欠款,以免扩大损失。
你好,截至到昨天夜里23:59,你欠款:¥34532.32,请您尽快偿还欠款,以免扩大损失。
你好,截至到昨天夜里23:59,你欠款为34532.32元,请您尽快偿还欠款,以免扩大损失。
您好!截止2015年7月1日,您尚有逾期欠款45,987.89元未支付,请您登陆手机客户端进行查询。
本人之前的正则是这样的,因为数据中可能出现不止一个数字,因此需要将欠款金额的前后标志性词语一起匹配出来
String jq = "欠款金额为(.*?)元|欠还金额为(.*?)元|欠款:¥(.*?),|欠款总金额(.*?);|到期(.*?)元|到期本金(.*?)元|欠款合计金额为(.*?)元|欠款(.*?)元|累计欠款(.*?)。|Top50金额共(.*?)最长|欠款金额人民币:(.*?)元|共欠担保公司¥(.*?)元|尚有(.*?)元未支付|欠款为(.*?)元";

但是在匹配的时候有些相互冲突,
欠款(.*?)元
欠款:¥(.*?),
欠款为(.*?)元
导致匹配出的结果部分为null,部分不符合,输出是,希望输出group(1)+"\t"+group();
希望能够将(.*?)替换,用\d或者[0-9]执行匹配,但是水平有限,希望有前辈能指点。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值