文章目录
参考1: https://www.runoob.com/java/java-regular-expressions.html
参考2: https://www.runoob.com/regexp/regexp-syntax.html
开头与结尾
java
^ 表示开头
$ 表示结尾
字符
java
a-z 表示小写字符a-z
A-Z 同理表示大写A~Z
0-9 表示数字0-9
[ ] 匹配括号内的任意一个字符。例如,[abc] 匹配字符 "a"、"b" 或 "c"。
[^ ] 匹配除了括号内的字符以外的任意一个字符。例如,[^abc] 匹配除了字符 "a"、"b" 或 "c" 以外的任意字符。
量词 & 限定符
java
? 表示可以出现或者不出现,可0可1
* 表示0个或者多个字符,0到正无穷
+ 表示至少出现一次,1到正无穷
* 与 + 是贪婪的,会尽可能多匹配,当他们后面是问号?时候才会非贪婪。
{n} 匹配前面的模式恰好 n 次。
{n,} 匹配前面的模式至少 n 次。
{n,m} 匹配前面的模式至少 n 次且不超过 m 次。
分组
java
( ) 用于分组和捕获子表达式。表示一个整体
(?: ) 用于分组但不捕获子表达式。
(ab)表示ab两个字母组成一个整体,两个要一起出现
(ab)+表示多次匹配ab
| 表示或
(cat | dog) 表示可以是 cat 或者 dog
[abc]表示字符只可以来自abc这三个之中,不限制顺序
^表示不能是什么,表示非
^[ 0-9 ]表示不能是0-9,及不能是数字
元字符
java
\d 数字字符
\w 单词字符 = 字母,数字,下划线
\s 空格,tab,换行
\D 非数字
\W 非\w
\S 非\s
\n 换行
. 表示任意字符,但不可以是换行符号
定位符
java
^ 表示开头 $ 表示结尾
\b 单词的开头或者结尾,匹配一个单词边界,即字与空格间的位置。
\B 不是开头与结尾