Loading

正则表达式

直接匹配

根据 123 匹配 123

正则匹配

^[123]$

^ : 匹配开头,表示整段文本的开头

$ : 匹配结尾,表示整段文本的结尾

[ ] : 匹配中括号中任意一个字符,可以是1,也可以是2,也可以是3

^[^a-zA-Z]$

[a-z] : 中括号中匹配小写 a - z 字母

[A-Z] : 中括号中匹配大写 a - z 字母

[a-zA-Z] : 中括号中匹配小写 a - z 字母或大写 a - z 字母

[^a-z] : 中括号中的 ^ 表示取反的意思,只能匹配小写 a-z 之外的字符

^[^a-zA-Z]{3,10}$

{3} : 指定字符的个数,表示整段的字符只能为3个

{3,10} : 指定字符的个数,表示整段的字符只能为 3 - 10个

^.{3,}$

. : 点表示匹配任意字符,行终止符除外(空格)

{3,} : 指定字符的个数,不指定上限表示无穷个

\d

\d等价与 [0-9] , 匹配0 ~ 9之中的任意字符

\D

\d等价与 [^0-9], 匹配非0 ~ 9之外的任意字符

[\d\D]

[\d\D] : 可以匹配任意字符,包含回车符

\w

\w 等价于 [a-zA-Z0-9_]。匹配小写字母 a-z 大写字母 A-Z 数字0-9 后面再加一个 下划线

\W

\W 等价于 [^a-zA-Z0-9_]。非小写字母 a-z 大写字母 A-Z 数字0-9 后面再加一个 下划线

\s

\s 等价于 [\r\n\t\f\v ]。 匹配 换行 翻页 空格 等特殊字符

\S

\S 等价于 [^\r\n\t\f\v ]。 匹配 换行 翻页 空格 等之外的特殊字符

\w?

? 等价于 {0,1} 尽可能多地匹配前一个令牌 0 到 1次

\w*

* 等价于 {0,} 0次到无穷次

\w+

+ 等价于 {1,} 1次到无穷次

正则表达式组

^([a-zA-Z0-9])@163.com$

() 表示正则表达式组

^(?<first>[a-zA-Z0-9])@163.com$

?<first> 表示为组命名为first

在java程序中的体现

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author leizige
 */
public class RegexGroupExample {
    public static void main(String[] args) {

        String regex = "(\\d+)@163.com";

        String str = "12343434@163.com";

        Pattern pattern = Pattern.compile(regex);

        Matcher matcher = pattern.matcher(str);
        matcher.find();

        System.out.println(matcher.group(0));
        System.out.println(matcher.group(1));		
    }
}
posted @ 2022-04-30 23:04  不颓废青年  阅读(52)  评论(0编辑  收藏  举报