文章目录
一、正则表达式是什么
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式又称为"规则表达式",可以说它是一种校验的规则
,就是用特定字符或其组成的集合,组成一个"规则的字符串"。
通过"规则字符串"来校验我们所输入的字符串是否满足我们事先所定义的规则字符串
,以达到校验的效果。
二、正则表达式中“特定的字符”(语法)
第一类
^ :表示 开头
$ :表示 结尾
^***$:表示完全满足 [完全满足表示开头和结尾是固定的]
| :表示 或
第二类
[ab]: 表示 a或b
[0-9]: 表示 任意的数字
[a-z]: 表示 任意小写字母
[A-Z] :表示 任意大写字母
[A-z] : 表示 任意字母
第三类
通过量词可以设置内容的次数,量词只对{}前面的一个内容起作用
a{5}: 相当于 aaaaa
a{1,5}: a出现1-5次中的任意一次
a{5,} : a出现5次以上
ba{5} : 相当于 baaaaa
(ab){5}: 相当于 ababababab
n+: 表示至少含有一个n 相当于{1,}
n*: 表示含有0个或多个n 相当于{0,}
n?: 表示含有0个或1个n 相当于{0,1}
第四类
^a: 检查字符串是否以a开头
a$: 检查字符串是否以a结尾
^a$: 字符串必须完全是a,既必须是a
(这个以应该是我们常用的)
^a|a$: 表示 以a开头或以a结尾
^(a|b)$: 表示 要么是a要么是b
(举例)
第五类
\b : 表示单词边界(border)
(举例)
\B : 表示除了单词边界
\d: 表示任意的数字
(digit)
\D: 表示除了数字
\s : 表示空格(space)
\S: 表示除了空格
\w: 表示任意字母,数字,‘_’
\W : 表示除了字母,数字,‘_’
第六类
在正则表达式中 " . " 表示任意字符,所以要用 \.表示 .
\\ : 表示 \
\.: 表示 .
三、正则表达式的具体应用(实例)
1、2018级计算机专业的学号的正则表达式(01-52)
例如:ST201865080028
前10位固定: ST2018650800
第11,12位: ([0-4][0-9]|5[0,2])
结果:^ST2018650800([0-4][0-9]|5[0,2])$
2、QQ邮箱的正则表达式
开头数字不能为0 : ^[1,9]
除开头的数字长度为4-9位: \d{4,9}
固定结尾@qq.com : @qq\.com
结果:^[1-9]{1}\d{4,9}@qq\.com$
3、查看一段文字中是否包含特定内容
例如:https://blog.csdn.net/m0_45067620
结果:https://blog\.csdn\.net/m0_45067620
4、查看一段文字中是否含有特定单词
例如:hello world
结果:\b(hello world)\b
当一切都随风而逝的时候,那些特别的瞬间都成了永恒…