以下是几个使用的demo
整个字符串是否匹配正则:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class isMatchesZhengze {
public static void main(String[]args){
Pattern p = Pattern.compile("(\\w+)%(\\d+)");
Matcher m = p.matcher("ab%12-cd%34-kk%45");
if (m.matches()) {//判断整个字符串是否匹配正则表达式
System.out.println("开始索引:" + m.start());// 开始索引:0
System.out.println("group():" + m.group());// group():ab%12
System.out.println(m.group(0));//整个匹配的字符串
System.out.println(m.group(1));//整个正则匹配的字符串里面第1个带括号的组匹配的内容
System.out.println(m.group(2));//整个正则匹配的字符串里面第2个带括号的组匹配的内容
}
}
}
判断字符串里面是否存在满足正则表达式的字符串:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class findByZhengze {
public static void main(String[]args){
Pattern p = Pattern.compile("(\\w+)%(\\d+)");
Matcher m = p.matcher("ab%12-cd%34-kk%45");
if (m.find()) {//判断字符串里面是否存在满足正则表达式的字符串,满足则取出第一个满足的字符串
System.out.println("开始索引:" + m.start());// 开始索引:0
System.out.println("group():" + m.group());// group():ab%12
System.out.println(m.group(0));//整个匹配的字符串
System.out.println(m.group(1));//整个正则匹配的字符串里面第一个带括号的组匹配的内容
System.out.println(m.group(2));//整个正则匹配的字符串里面第一个带括号的组匹配的内容
}
if (m.find()) {//判断字符串里面是否存在满足正则表达式的字符串,满足则取出第二个满足的字符串
System.out.println("开始索引:" + m.start());// 开始索引:6
System.out.println("group():" + m.group());// group():cd%34
System.out.println(m.group(0));//整个匹配的字符串
System.out.println(m.group(1));//整个正则匹配的字符串里面第1个带括号的组匹配的内容
System.out.println(m.group(2));//整个正则匹配的字符串里面第2个带括号的组匹配的内容
}
}
}
找出所有匹配正则表达式的子字符串:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class findAllByZhengze {
public static void main(String[]args){
Pattern p = Pattern.compile("(\\w+)%(\\d+)");
Matcher m = p.matcher("ab%12-cd%34-kk%45");
while (m.find()) {//找出所有匹配正则表达式的子字符串
System.out.println("开始索引:" + m.start());// 开始索引:6
System.out.println("group():" + m.group());// group():cd%34
System.out.println(m.group(0));//整个匹配的字符串
System.out.println(m.group(1));//整个正则匹配的字符串里面第1个带括号的组匹配的内容
System.out.println(m.group(2));//整个正则匹配的字符串里面第2个带括号的组匹配的内容
}
}
}