参考文章:
https://tool.oschina.net/regex/#
http://www.regexlab.com/zh/regref.htm
匹配两个特殊字符A,B之间的字符串
今天在使用正则表达式中,要匹配两个字符中间的内容,一时没有写出来,后来在网上找到了,记录一下。
匹配两个字符串A与B中间的字符串包含A与B:
表达式: A.?B(“.“表示任意字符,“?”表示匹配0个或多个)
示例: Abaidu.comB
结果: Awww.apizl.comB
匹配两个字符串A与B中间的字符串包含A但是不包含B:
表达式: A.?(?=B)
示例: Awww.apizl.comB
结果: Awww.apizl.com
匹配两个字符串A与B中间的字符串且不包含A与B:
表达式: (?<=A).*?(?=B)
这种写法没看懂,我猜测是如果不包含前面匹配的字符写法(?<=要匹配的开始字符),不包含后面要匹配的字符写法(?=要匹配的结束字符)
示例: Awww.baidu.comB
结果: www.baidu.com
pblic static final String REGEX_SEARCH = "(?<=\\*).*?(?=\\*)";
public String getSearchTextReg(String searchText) {
String searchTextReg = "";
if (searchText.toString().indexOf("*") != -1) {
Pattern p = Pattern.compile(REGEX_SEARCH);
Matcher m = p.matcher(searchText.toString());
while (m.find()) {
System.out.println(m.group());
searchTextReg = m.group();
break;
}
} else {
searchTextReg = searchText.toString();
}
return searchTextReg;
}
网友评论