在Java开发场景中我们经常会遇到需要获取一串字符串中某一特殊字符串段的情况,有些我们可以通过split方法一点点的剥离出来,有些即使是使用split也不太好办,如果使用正则表达式会有奇效。
- 正则表达式的匹配规则
在使用正则表达式之前一定要先熟悉正则表达式的匹配规则,规则如下:
- 代码用例
获取字符串str中的类名和方法名
- 代码用例
package com.BlogExample;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternTest {
public static void main(String[] args) {
String str = "com.mysql.jdbc.StatementImpl.executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet;";
Pattern pattern = Pattern.compile("\\.([^.]*)\\.([^.]*)\\(");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
//matcher.group() 方法调用之前要先调用matcher.find()方法
System.out.println("匹配的字符串的内容:"+matcher.group(0));
System.out.println("第一个括号的匹配内容:"+matcher.group(1));
System.out.println("第二个括号的匹配内容:"+matcher.group(2));
}
}
}
代码执行结果: