介绍
简单的说:正则表达式是对字符串执行模式匹配的技术。
正则表达式:regular expression=>RegExp
public class RegExp {
public static void main(String[] args) {
String content = "asnasd1234爱卡卡的大as3321测试91198";
// \\d 表示任意一个数字
String regStr = "(\\d\\d)(\\d\\d)";
//创建模式对象 即正则表达式对象
Pattern pattern = Pattern.compile(regStr);
//创建匹配器 matcher 按照正则表达式的规则 去匹配 content字符串
Matcher matcher = pattern.matcher(content);
//开始匹配
while (matcher.find()) {
//小结
// 1. 如果正则表达式有() 即分组
// 2. 取出匹配的字符串规则如下
// 3. group(0) 表示匹配到的子字符串
// 4. group(1) 表示匹配到的子字符串的第一组字串
// 5. group(2) 表示匹配到的子字符串的第 2 组字串
// 6. ... 但是分组的数不能越界
System.out.println("找到: " + matcher.group(0));
System.out.println("第 1 组()匹配到的值=" + matcher.group(1));
System.out.println("第 2 组()匹配到的值=" + matcher.group(2));
}
}
}
正则表达式语法
基本介绍
元字符(Metacharacter)-转义号 \
在JAVA中 两个\ \代表其他语言中的一个\
元字符-字符匹配符
元字符-选择匹配符
元字符-限定符
用于指定其前面的字符和组合项连续出现多少次
细节:java 匹配默认贪婪匹配,即尽可能匹配多的
//String regStr = “a{3,4}”; //表示匹配 aaa 或者 aaaa
//String regStr = “1{4,5}”; //表示匹配 1111 或者 11111
//String regStr = “\d{2,5}”; //匹配 2 位数或者 3,4,5
元字符-定位符
定位符, 规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置,这个也是相当有用的,必须掌握
分组
正则表达式三个常用类
分组、捕获、反向引用
String 类中使用正则表达式
1 替换功能
StringReg.java
String 类 public String replaceAll(String regex,String replacement)
2 判断功能
String 类 public boolean matches(String regex){}
//使用 Pattern 和 Matcher 类
3 分割功能
String 类 public String[] split(String regex)
正则表达式元字符-详细说明