寂寞不孤单 2016-03-10 06:44 采纳率: 16.7%
浏览 1537

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]执行匹配,但是水平有限,希望有前辈能指点。

  • 写回答

2条回答

  • tony4geek 2016-03-10 07:06
    关注

    你需要结果是什么列出来吧。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料