正则表达式
2023-12-14 06:55:39
参考1: https://www.runoob.com/java/java-regular-expressions.html
参考2: https://www.runoob.com/regexp/regexp-syntax.html
常见格式
/AAA/BBB
AAA部分是匹配模式,内容是表达式的主体
BBB部分是匹配选项,用来指定匹配的策略
开头与结尾
^ 表示开头
$ 表示结尾
字符
a-z 表示小写字符a-z
A-Z 同理表示大写A~Z
0-9 表示数字0-9
[ ] 匹配括号内的任意一个字符。例如,[abc] 匹配字符 "a"、"b" 或 "c"。
[^ ] 匹配除了括号内的字符以外的任意一个字符。例如,[^abc] 匹配除了字符 "a"、"b" 或 "c" 以外的任意字符。
量词 & 限定符
? 表示可以出现或者不出现,可0可1
* 表示0个或者多个字符,0到正无穷
+ 表示至少出现一次,1到正无穷
* 与 + 是贪婪的,会尽可能多匹配,当他们后面是问号?时候才会非贪婪。
{n} 匹配前面的模式恰好 n 次。
{n,} 匹配前面的模式至少 n 次。
{n,m} 匹配前面的模式至少 n 次且不超过 m 次。
分组
( ) 用于分组和捕获子表达式。表示一个整体
(?: ) 用于分组但不捕获子表达式。
(ab)表示ab两个字母组成一个整体,两个要一起出现
(ab)+表示多次匹配ab
| 表示或
(cat | dog) 表示可以是 cat 或者 dog
[abc]表示字符只可以来自abc这三个之中,不限制顺序
^表示不能是什么,表示非
^[ 0-9 ]表示不能是0-9,及不能是数字
转义字符
\d 数字字符
\w 单词字符 = 字母,数字,下划线
\s 空格,tab,换行
\D 非数字
\W 非\w
\S 非\s
\n 换行
\r 回车
\f 换页
. 表示任意字符,但不可以是换行符号
^ 表示开头 $ 表示结尾
\b 单词的开头或者结尾,匹配一个单词边界,即字与空格间的位置。
\B 不是开头与结尾
常用修饰符
修饰符 | 描述信息 |
---|---|
i | insensitive,忽略大小写 |
m | multi line,多行模式。使得^和$同时锚定所有行的起始和结尾位置。 |
g | global,全局模式。查找所有匹配项。 |
u | unicode,使用unicode字符集。 |
s | single line,让.可以匹配任意字符,包括换行符。 |
文章来源:https://blog.csdn.net/qq_44627608/article/details/134912564
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!