正規表達式在js和java中如何使用
1.在js中
1.1 Search()方法(字元串方法)
search()方法用來查找字元串中比對的子字元串或符合正規表達式的子字元串,并傳回子字元串的起始位置。
var str="www.baidu.com";
var reg = "baidu";
var reg2 = "[com]{1}";
var regExp=new RegExp(reg);
var regExp2=new RegExp(reg2);
console.log(str.search(regExp));
console.log(str.search(regExp2));
運作結果
1.2 replace()方法(字元串方法)
replace()方法用來在字元串中将一些字元串替換成另一些字元串,或者替換成一個與正規表達式比對的字串。
var str="www.baidu.com";
var reg = "baidu";
var reg2 = "[com]+"
var regExp=new RegExp(reg);
var regExp2=new RegExp(reg2);
console.log(str.replace("baidu","google"));
console.log(str.replace(regExp2,"cn"));
運作結果
1.3 test()方法(正規表達式方法)
test()方法用于檢測一個字元串是否比對某一個正規表達式,如果字元串中含有比對的文本就傳回true,否則傳回false。
var str="www.baidu.com";
var reg2 = "^[a-z]{3}[\.]{1}[a-z]+[\.]{1}[a-z]{2,}$"
var regExp2=new RegExp(reg2);
console.log(regExp2.test(str));
運作效果
1.4 exec()方法(正規表達式方法)
exec()方法用于傳回字元串中符合正規表達式的比對;
var str="www.baidu.com";
var reg2 = "^[a-z]{3}[\.]{1}[a-z]+[\.]{1}[a-z]{2,}$"
var regExp2=new RegExp(reg2);
console.log(regExp2.exec(str));
運作效果
傳回的是一個數組,如果要是一個字元串可以加個regExp2.exec(str)[0];
在java中
2.1 matches()方法
matches()方法用來監測字元串是否符合某一正規表達式。傳回布爾類型
String regx="^[a-z]{3}[\\.]{1}[a-z]+[\\.]{1}[a-z]{2,}$";
Pattern pattern=Pattern.compile(regx);
String str="www.baidu.com";
Boolean flag=Pattern.matches(regx,str);
System.out.println(flag);
運作效果
2.2、find()方法
find()用來查找下一個比對的子序列;下面這個是方法上的注釋。當且僅當輸入序列的子序列比對此比對器的模式時,才傳回true.
2.3、 group()方法
group()傳回比對的子字元串,前提是必須調用一次matcher.find()方法找一次。
String regx="[0-9]";
Pattern pattern=Pattern.compile(regx);
String str="ljj54kjk545";
StringBuffer strRe=new StringBuffer();
Matcher matcher=pattern.matcher(str);
// 全局
while (matcher.find()){
// strRe.append(str,matcher.start(),matcher.end());
strRe.append(matcher.group());
}
System.out.println(strRe.toString());
運作效果
這個代碼循環傳回了所有數字,後組成一個字元串
參考資料