1.最长匹配原则:
String a = "{你好}}哈哈哈{哈}哈哈";
String regex= "\\{[\\s\\S]*\\}";
Pattern r = Pattern.compile(regex);
Matcher mTitle = r.matcher(a);
while(mTitle.find()){
System.out.println(mTitle.group());
}
运行结果:{你好}}哈哈哈{哈}
2.匹配一个大括号及其之间的内容:
String a = "{你好}}哈哈哈{哈}哈哈";
String regex = "\\{[^\\}]*\\}";
Pattern r = Pattern.compile(regex);
Matcher mTitle = r.matcher(a);
while(mTitle.find()){
System.out.println(mTitle.group());
}
运行结果:
{你好}
{哈}
其中^表示匹配不是这个字符( 代码中是 } ) 的字符
3.匹配整个字符串看看是否匹配正则表达式
String a = "{你好}";
String regex = "\\{[^\\}]*\\}";
Pattern r = Pattern.compile(regex);
Matcher mTitle = r.matcher(a);
//匹配整个字符串看看是否匹配正则表达式
System.out.println(mTitle.matches());
结果:true
4.匹配所有字符:
String a = "pom.iml";
Pattern pattern = Pattern.compile("[\\s\\S]*ml");
Matcher m = pattern.matcher(a);
while(m.find()){
System.out.println("找到了"+m.group());
}
\s\S:匹配所有 空白字符+非空白字符 , 说白了也就是全部字符都可以
\s 空白符 \S 非空白符
*最少匹配0个