資源簡(jiǎn)介
java 正則匹配所有 {},并取出所有符合的字符串。該項(xiàng)目為普通java項(xiàng)目

代碼片段和文件信息
package?com.zr.test;
import?java.util.regex.Matcher;
import?java.util.regex.Pattern;
public?class?Test?{
public?static?void?main(String[]?args){
String?sqlFragment?=?“insert?into?t_role(role_idrole_name“
+?“role_levelorg_idrole_typerole_statusadd_user_id“
+?“add_timeupd_user_idupd_time)?values(#{id}“
+?“${role_name}${role_level}${org_id}${role_type}“
+?“${role_status}“
+?“#E{accId}#{dateInt}#{accId}#E{dateInt})“;
Pattern?pattern?=?Pattern.compile(“#E\\{[\\w]*\\}“);
Matcher?matcher?=?pattern.matcher(sqlFragment);
//循環(huán),字符串中有多少個(gè)符合的,就循環(huán)多少次
while(matcher.find()){
//每一個(gè)符合正則的字符串
String?e?=?matcher.group();
//截取出括號(hào)中的內(nèi)容
String?substring?=?e.substring(3?e.length()-1);
//字符串截取
CharSequence?subSequence?=?sqlFragment.subSequence(matcher.start(0)?matcher.end(0));
System.out.println(“開始位置:“+matcher.start(0)+“?結(jié)束位置:“+matcher.end(0));
System.out.println(subSequence.toString());
System.out.println(e);
//進(jìn)行替換
sqlFragment?=?sqlFragment.replaceAll(“\\#E\\{“+substring+“\\}“?“123123498496416“);
//此句代碼與上句代碼結(jié)果一致
// sqlFragment?=?sqlFragment.replace(e?“123123“);
}
System.out.println(sqlFragment);
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\bin\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\bin\com\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\bin\com\zr\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\bin\com\zr\test\
?????文件????????2030??2018-10-09?08:20??test-regex-demo-master\bin\com\zr\test\Test.class
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\src\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\src\com\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\src\com\zr\
?????目錄???????????0??2018-10-09?08:20??test-regex-demo-master\src\com\zr\test\
?????文件????????1258??2018-10-09?08:20??test-regex-demo-master\src\com\zr\test\Test.java
評(píng)論
共有 條評(píng)論