文章目录
// \w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
static final String regular = "#\\w+R(\\d+)C(\\d+)";
@Test
public void test() {
//编译正则表达式,在API中其实Pattern和Matcher类都有匹配的作用
//但是Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持,包含更丰富的正则匹配操作。
// Matcher类提供了三个返回boolean值得匹配方法:matches(),lookingAt(),find(),find(int start),
// 其中matches()用于全字符串匹配,lookingAt从字符串最开头开始匹配满足的子串,find可以对任意位置字符串匹配,其中start为起始查找索引值。
Pattern pattern = Pattern.compile(regular);
// flags 例如:Pattern.CASE_INSENSITIVE 忽略大小写
Pattern.compile(String regex,int flags)
System.out.println(pattern.pattern());
String text= "#LRY020R008C003";
Matcher matcher = pattern.matcher(text);
boolean b = matcher.find();
//组的概念:组是用括号划分的正则表达式,可以根据组的编号来引用这个组。
// 组号为0表示整个表达式,组号为1表示被第一对括号括起的组,依次类推,例如A(B(C))D,组0是ABCD,组1是BC,组2是C。
// 再例如上述例子:组0是#\w+R(\d+)C(\d+),组1是R(\d+),组2是C(\d+)
String group = matcher.group();
String group1 = matcher.group(1);
String group2 = matcher.group(2);
}
正则表达式-菜鸟教程
API 使用教程