java正则匹配第一个符合的_java正则贪婪匹配指定字符开头和结尾或括号中内容...
項目中需要這樣二種場景,需要貪婪匹配一個字符串,按照相應的匹配規(guī)則,替換指定的字符。
一、場景一匹配規(guī)則
1.中括號開頭緊接2位數(shù)字
2.中間部分任意
3.右中括號結尾
代碼如下:
String str = "[05經銷商風險等級:低風險][06客戶戶籍地風險等級:中高風險][06銷售風險等級:中風險][01不符合增信退回要求][02人行與申請?zhí)峁┦謾C號碼不一致]";
//正則
Pattern pattern=Pattern.compile("\\[\\d{2}.*?\\]");
Matcher matcher = pattern.matcher(str);
StringBuffer stringBuffer = new StringBuffer(512);
while (matcher.find()) {
StringBuilder sb = new StringBuilder(matcher.group(0));
System.out.println(matcher.group());
if (StringUtils.isBlank(sb) || sb.length() <= 2) {
continue;
}
//替換第2,3位為空
sb.replace(1, 3, "");
System.out.println(sb.toString());
}
輸出結果:
[05經銷商風險等級:低風險]
[經銷商風險等級:低風險]
[06客戶戶籍地風險等級:中高風險]
[客戶戶籍地風險等級:中高風險]
[06銷售風險等級:中風險]
[銷售風險等級:中風險]
[01不符合增信退回要求]
[不符合增信退回要求]
[02人行與申請?zhí)峁┦謾C號碼不一致]
[人行與申請?zhí)峁┦謾C號碼不一致]
二、場景二匹配規(guī)則
1.匹配()中的內容
代碼如下:
//正則
Pattern pattern = Pattern.compile("(?<=\\()(.+?)(?=\\))");
matcher = pattern.matcher("06客戶戶籍地風險等級(低風險)師12(中高風險)(人行與申請?zhí)峁┦謾C號碼不一致)風險(中風險)01不符合增信退回要求(不符合增信退回要求)01不符合增信退回要求");
while(matcher.find())
System.out.println(matcher.group());
輸出結果:
低風險
中高風險
人行與申請?zhí)峁┦謾C號碼不一致
中風險
不符合增信退回要求
總結
以上是生活随笔為你收集整理的java正则匹配第一个符合的_java正则贪婪匹配指定字符开头和结尾或括号中内容...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 探索智能云服务新模式,云计算重大变革的新
- 下一篇: 触摸检测芯片VKD233HH稳压电路电路