正则表达式的具体写法网上有很多了,这里只记录在 Java 中怎么使用。
java.util.regex.Matcher
、java.util.regex.Pattern
主要有:
String.matches
方法。只判断是否匹配可以用这个;Matcher.matches
方法。全局匹配,并配合 Matcher.group 提取出某规则局部(正则表达式内用括号(...)(...)...
分组,组下标 1,2,3...);Matcher.find
方法。局部匹配,并用 Matcher.group 提取出该局部。
一段示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public static void main(String[] args) {
String str = " +214asv";
String regex1 = "([ ]*)([+-]?\d+)(\D*.*)";
// 1.
System.out.println(str.matches(regex1));
// 2.
Pattern pattern1 = Pattern.compile(regex1);
Matcher matcher1 = pattern1.matcher(str);
if (matcher1.matches())
System.out.println(matcher1.group(2));
// 3.
String regex2 = "[+-]?\d+";
Pattern pattern2 = Pattern.compile(regex2);
Matcher matcher2 = pattern2.matcher(str);
if (matcher2.find()){
System.out.println(matcher2.group());
}
}