正则表达式

正则表达式

正则表达式:用来匹配字符、字符串得。例如匹配手机号、身份证号等。
1、 元字符:
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串得开始
$ 匹配字符串得结束
2、 字符转义:\(必须要两个\)
3、 重复:
重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
4、 反义:
\W匹配任意不是字母或数字或下划线或汉字
\S 匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
例如:\S+匹配不包含空白符的字符串
<a[^>]+>匹配用尖括号起来的以a开头的字符串
5、 后向引用
(exp)匹配exp,并捕获文本到自动命名的组里
(?exp)匹配exp,并捕获文本到名次为name的组里,也可以写成(?‘name’ exp)
(?:exp)匹配exp,不捕获匹配的文本,也不给此分组分配组号
(?=exp)匹配exp前面的位置
(?<exp)匹配exp后面的位置
(?!exp)匹配后面跟的不是exp的位置
(?<!exp)匹配前面不是exp的位置
6、 贪婪与懒惰
?重复任意次,但尽可能少重复
+?重复1次或更多次,但尽可能少重复
??重复0次或1次,但尽可能少重复
{n,m}?重复n到m次,但尽可能少重复
{n,}?重复n次以上,但尽可能少重复
7、
X|Y 匹配x或y
[xyz]匹配所包含的任意一个字符
[^xyz] 匹配未包含的任意字符
[a-z] 匹配指定范围内的任意字符
[^a-z] 匹配任何不在指定范围内的任意字符
\v匹配一个垂直制表符
\t匹配一个制表符
\r匹配一个回车符
\n匹配一个换行符
\un匹配n,其中n是一个用四个十六进制数字表示的Unicode字符
\nml如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。
\f匹配一个换页符
\nm标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。
\xn匹配num,其中num是一个正整数
\n标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。
7、 常用的正则表达式
用户名 /1{3,16} / 密 码 / [ a − z 0 − 9 − ] 6 , 18 / 密码 /^[a-z0-9_-]{6,18} //[az09]6,18/
十六进制的值 /^#?([a-f0-9]{6}|[a-f0-9]{3})KaTeX parse error: Got function '\.' with no arguments as subscript at position 20: …子邮箱 /^([a-z0-9_\̲.̲-]+)@([\da-z\.-…/
/2+(.[a-z\d]+)
@(\da-z?)+(.{1,2}[a-z]+)+KaTeX parse error: Undefined control sequence: \/ at position 19: …URL /^(https?:\̲/̲\/)?([\da-z\.-]…/
IP 地址 /((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?😦?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][
][0-9]?)KaTeX parse error: Undefined control sequence: \/ at position 40: …^<]+)*(?:>(.*)<\̲/̲\1>|\s+\/>)/
删除代码//注释 (?<!http:|\S)//.
$
Unicode编码中的汉字范围 /3+$/


  1. a-z0-9_- ↩︎

  2. a-z\d ↩︎

  3. \u2E80-\u9FFF ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值