java正则_特殊字符处理

一、特殊字符转义

点的转义:. ==> \\u002E

美元符号的转义:$ ==> \\u0024
乘方符号的转义:^ ==> \\u005E
左大括号的转义:{ ==> \\u007B
左方括号的转义:[ ==> \\u005B
左圆括号的转义:( ==> \\u0028
竖线的转义:| ==> \\u007C
右圆括号的转义:) ==> \\u0029
星号的转义:* ==> \\u002A
加号的转义:+ ==> \\u002B
问号的转义:? ==> \\u003F

反斜杠的转义:\ ==> \\u005C

二、字符

中文:\u4e00-\u9fa5

空格:\\s

点(.)://.(或\\.)

三、实例

3.1 匹配xml标签元素

String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
		+ "<RESPONSE><MSGBODY><SESSIONID>09ccacab7be538856cc925306e6f912e</SESSIONID><USERNAME>svili</USERNAME>"
		+ "<TOKEN>123456</TOKEN><STATUS>0000</STATUS></MSGBODY></RESPONSE>";
String regex = "<(/*[A-Za-z]+)>";
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(xmlStr);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
	matcher.appendReplacement(sb, "<" + matcher.group(1).toUpperCase() + ">");

}
matcher.appendTail(sb);
3.2 匹配数据集合

//对字段名做一些处理:${B1073034_201602}${B1073014_201602}
		String fields_regex = "\\u0024\\u007B([A-Z_a-z0-9]+)}";
		Matcher fields_matcher = Pattern.compile(fields_regex).matcher(fields);
		StringBuffer fieldsBuffer = new StringBuffer();
		while (fields_matcher.find()) {
			fields_matcher.appendReplacement(fieldsBuffer, "," + fields_matcher.group(1));
		}
		//fields_matcher.appendTail(fieldsBuffer);
		//对字段值做一些处理:#{字段值:汉字,空,时间,字符,数字_-},#{}
		String values_regex = "#\\u007B([\u4e00-\u9fa5A-Z_a-z0-9//.\\s:-]*)}";
		Matcher values_matcher = Pattern.compile(values_regex).matcher(values);
		StringBuffer valuesBuffer = new StringBuffer();
		while (values_matcher.find()) {
			values_matcher.appendReplacement(valuesBuffer, values_matcher.group(1));
		}
		//values_matcher.appendTail(valuesBuffer);



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值