标签:报文 反向 字符串 解析 ring 手写 成功 开始 运算
最近在做一些支付报文处理工作,需要从各种各样的报文中提取需要的信息比如(金额,订单号。。。),每个渠道报文各式各样,想要写一个通用的提取逻辑,于是就回顾java正则表达式的用法。当然我们可以自己写一些算法,去提取这些字段,但对于简单的解析来说,亲自手写算法有点杀鸡用牛刀的感觉,而且正则表达式完全可以满足大部分的字符提取需求。好了闲话不多说,先列出正则表达式的常用语法:
下面列出一些常用的特殊字符及其含义:
为了加深理解与运用,下面列出几个应用场景:
取出下面字符串中的金额:
#支出合计:33笔, 共10.00元
String temp = "#支出合计:33笔, 共10.00元"; Pattern p = Pattern.compile("(\\d+\\.\\d+)"); Matcher matcher = p.matcher(temp); if(matcher.find()){ System.out.println(matcher.group(0)); System.out.println(matcher.group(1)); }
输出:10.00
发现成功的将报文中的金额识别出来,因此我们只需要将不同结构的报文中含有金额部分输入,就可以方便的输出金额了,简单的万金油....
标签:报文 反向 字符串 解析 ring 手写 成功 开始 运算
原文地址:http://www.cnblogs.com/foreveravalon/p/7520445.html