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