(?: pattern)是非捕获型括号 匹配pattern,但不捕获匹配结果。
(pattern )是捕获型括号。 匹配pattern,匹配pattern并捕获结果,自动获取组号
.*? 是最短匹配,默认是贪婪匹配,即全局匹配
(?i)开启不区分大小写匹配
(?-i)停用大小写匹配
@Test
public void testOr2(){//Red Hat Enterprise Linux Server release 5.4 (Tikanga)
String name="my company is server test ";
System.out.println(name.matches(".*(((?!)windows)|server).*(?!tEst).*"));
}//true
(?i)abc 表示abc都忽略大小写
a(?i)bc 表示bc忽略大小写
a((?i)b)c 表示只有b忽略大小写
也可以用Pattern.compile(rexp,Pattern.CASE_INSENSITIVE)表示整体都忽略大小写
捕获型括号的编号是按照开括号出现的次序,从左到右计算的.括号的常见功能之一是
从字符串中提取数据,括号中的子表达式匹配的文本称为括号匹配文本,可以通过$1$2...
方式来进行引用
@Test
public void testOr3(){//Red Hat Enterprise Linux Server release 5.4 (Tikanga)
System.out.println("<img src=\"/Uploads/images/20130617/test.jpg\" />".replaceAll("(<img.*?src=\")(.*)(\".*/>)", "$1http://127.0.0.1:8080$2$3"));
}//<img src="http://127.0.0.1:8080/Uploads/images/20130617/test.jpg" />