Java?正則獲取兩個字母之間的內(nèi)容(最新推薦)
Java 正則獲取兩個字母之間的內(nèi)容
正則匹配兩個字符之間的內(nèi)容
表達式: (?<=A).*?(?=B)
匹配兩個字符串A與B之間的內(nèi)容,不包含A和B
// 匹配規(guī)則
String reg = "(?<=E).*?(?=U)";
String temp = "qwErtyUio";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(temp);
if( matcher.find() ){
System.out.println(matcher.group());
}
//打印內(nèi)容 rty表達式: A.*?(?=B)
匹配兩個字符串A與B之間的內(nèi)容,包含B,不包含A
// 匹配規(guī)則
String reg = "W.*?(?=H)";
String temp = "eWiowedjewHw";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(temp);
if( matcher.find() ){
System.out.println(matcher.group());
}
//打印內(nèi)容 iowedjewH表達式: A.*?B
匹配兩個字符串A與B之間的內(nèi)容,包含A和B
// 匹配規(guī)則
String reg = "A.*?B";
String temp = "aAabcBc";
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(temp);
if( matcher.find() ){
System.out.println(matcher.group());
}
//打印內(nèi)容 AabcB注: “ . ”表示任意字符,“ ? ”表示匹配一次或多次,“ ?<=A ” 表示以A開頭,“ ?=B ”表示以B結(jié)尾
java 正則表達式截取兩個字符串之間的內(nèi)容
有一個需求,需要截取字符串中,兩個字符串之間的內(nèi)容。
比如字符串:啊啊啊標題@多項選擇題描述@呵呵呵呵
現(xiàn)在需要截取【標題@】和【描述@】之間的字符串,使用正則表達式的方式截取,代碼如下
String text3 = "啊啊啊標題@多項選擇題描述@呵呵呵呵";
String reg3 = "(?<=標題@)[\\s\\S]*(?=描述@)";
Pattern p3 = Pattern.compile(reg3);
Matcher m3 = p3.matcher(text3);
if(m3.find()){
System.out.println(m3.group());
}輸出結(jié)果:

?String reg3 = "(?<=標題@)[\\s\\S]*(?=描述@)";
這個正則表達式使用了零寬斷言,匹配標題@開頭,并且描述@結(jié)尾的字符串,并且不包括這兩個字符串。[\\s\\S]是匹配任何空或者非空的字符,*表示匹配0次或者多次。
如果需要保留這個開頭的字符串和結(jié)尾的字符串,那么正則表達式可以改為這樣:
String reg3 = "標題@[\\s\\S]*描述@";
改為這樣后,輸出內(nèi)容就變?yōu)榱讼旅孢@樣,會包含前面和后面的字符串:

到此這篇關(guān)于Java 正則獲取兩個字母之間的內(nèi)容的文章就介紹到這了,更多相關(guān)正則匹配兩個字符之間的內(nèi)容內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于preg_replace函數(shù)的問題講解
關(guān)于preg_replace函數(shù)的問題講解...2007-03-03
如何實現(xiàn)正則表達式的JavaScript的代碼高亮
這篇文章主要介紹了如何實現(xiàn)正則表達式的JavaScript的代碼高亮方法,需要的朋友可以參考下2014-05-05

