几年前整理的一篇正则语法,对我个人来说使用频率极高,几乎每次写正则都会用到。
因为当时对这篇文章的定位是语法速查,所以没有写的很细,不过还好够用。
正则表达式的用途:分割
查找
匹配
替换
关于正则的用法:
分隔符
/
正斜线#
hash符号~
取反符号
通用原子
\d
十进制的0-9\D
除了十进制的0-9,可以理解为\d
取反\w
数字字母下划线\W
除了数字字母下划线,可理解为\w
取反\s
空白字符(空格)\S
除了空白字符,可理解为\s
取反
元字符
.
除了换行符以外的任意字符*
匹配前面的内容,零次、一次、多次?
匹配前面的内容,零次、一次^
必须以此开头$
必须以此结尾+
出现一次或多次{n}
只能出现N次{n,}
至少出现N次{n,m}
至少出现N次,最多出现M次[]
或,比如[123]
表示 1或2或3()
表示一个整体[^123]
表示 除了1 除了2 除了3|
表示或的意思[-]
范围值,例如[0-9]
模式修正符
i
不区分大小写m
每一行分别匹配s
修正换行符,如果由换行符就需要使用这个修正,否则匹配不上U
取消贪婪模式x
忽略模式中的空白字符A
必须以这个模式开头D
修正对\n
的忽略u
utf-8编码,中文匹配时有用
补充一些常用正则规则:
- 验证手机号:
^1[3456789]\d{9}$
- 验证身份证号:
^\d{17}[\dxX]$
- 验证邮箱:
^\w+@\w{2,}\.\w{2,4}$
学习啦,谢谢分享
这个博客是自己写的么,还是用的框架
用 typecho 搭建的
催更催更
你也搞一个 我们一起更