【Java】回顾正则表达式

49 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第23天,点击查看活动详情

1、写在前面

大家好,我是翼同学。今天文章的内容是:

  • 回顾:正则表达式

2、内容

2.1、回顾正则语法

(1) 字符类

下面语法都默认匹配一个字符。

语法说明
[abc]字符集,匹配abc
[^abc]匹配除abc之外的任何字符
[a-zA-Z]指定范围,匹配a到z或A到Z中的任意字符
[a-d[m-p]]指定范围,匹配a到d中的任意字符或者m到p的任意字符
[a-z&&[^bc]]指定范围,匹配a到z中的任意字符,除了b和c
[a-z&&[^m-p]]指定范围,匹配a到z中的任意字符,除了m到p中的字符

(2) 预定义的字符类

预定义的字符类也是默认地匹配一个字符。语法如下:

语法说明
.匹配任意一个字符
\d匹配任意一个数字,效果等同于[0-9]
\D匹配任意一个非数字字符,效果等同于[^0-9]
\s匹配一个空白字符,效果等同于[\t\n\f\r]
\S匹配一个非空白字符,效果等同于[^\s]
\w匹配英文、数字、下划线,效果等同于[a-zA-Z0-9]
\W匹配一个非单词字符,效果等同于[^\w]
\n匹配换行符
\r匹配回车符
\f匹配换页符
\t匹配制表符

(3) 量词

语法说明
{n}表示正好匹配n次(n是非负整数)
{n,}表示至少匹配n次(n是非负整数)
{n,m}表示至少匹配n次,至多m次(mn是非负整数,并且n≤m
?匹配零次或一次。效果等同于{0,1}
*匹配零次或多次。效果等同于{0,}
+匹配一次或多次。效果等同于{1,}

(4) 举例

  • .:正则表达式a.c中间的.可以匹配一个任意字符;
  • \d:正则表达式00\d可以匹配007,因为\d可以匹配字符7;
  • \w可以匹配一个字母、数字或下划线。比如java\w可以匹配到javacjava_等,当不能匹配到java#

3、写在最后

好了,文章的内容就到这里,感谢观看。