【Java基础】正则表达式

正则表达式

一般面向搜索引擎编写正则表达式

举例

String qqRegex = "[1-9]\\d{4,11}";
System.out.println("02333133".matches(qqRegex));

String telRegex = "[1][3-9]\\d{9}";
System.out.println("13111111a31".matches(telRegex));

String emailRegex = "\\w+[@][\\w&&[^_]]+(\\.[a-z]{2,3})+";
System.out.println("123@qq.com".matches(emailRegex));
System.out.println("123@qqqq.qq.com".matches(emailRegex));
System.out.println("123qq.com".matches(emailRegex));

String类中与正则表达式有关的方法:

String replaceAll(String regex, String newStr):按照正则表达式匹配的内容进行替换。
String[] split(String regex):根据给定正则表达式的匹配拆分此字符串。

使用正则表达式爬取信息

Pattern类

正则表达式的编译表示形式。
指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。

String data = "手机:15111111111;15222222222;"
                + "电话:010-11111111;0145-23456789";

Pattern pattern = Pattern.compile("[1][3-9]\\d{9}|[0]\\d{2,4}-?\\d{8}");
Matcher matcher = pattern.matcher(data);
while(matcher.find()) {
    System.out.println(matcher.group());
}
posted @ 2023-12-01 21:40  沙汀鱼  阅读(7)  评论(0编辑  收藏  举报