简介
正则表达式(Regular Expression)是一种文本模式,使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。许多程序设计语言都支持利用正则表达式进行字符串操作。
示例
![正则表达式示例 正则表达式示例]()
^
为匹配输入字符串的开始位置。[0-9]+
匹配多个数字, [0-9]
匹配单个数字,+
匹配一个或者多个。abc$
匹配字母abc
并以 abc
结尾,$
为匹配输入字符串的结束位置。
我们在写用户注册表单时,只允许用户名包含字符、数字、下划线和连接字符(-),并设置用户名的长度,我们就可以使用以下正则表达式来设定。
![正则表达式验证 正则表达式验证]()
字符
常用字符
符号 | 描述 |
---|
/…/ | 代表一个模式的开始和结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
\s | 任何空白字符 |
\S | 任何非空白字符 |
\d | 匹配一个数字字符,等价于[0-9] |
\D | 除了数字之外的任何字符,等价于[^0-9] |
\w | 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_] |
\W | 任何非单字字符,等价于[^a-zA-z0-9_] |
. | 除了换行符之外的任意字符 |
重复字符
限定符 | 作用 | 说明 |
---|
* | 出现0次或连续多次 | /a*b/ 可匹配b,aab,aaaab…… |
+ | 出现至少一次 | /a+b/ 可匹配ab,aaab,aaaab…… |
? | 出现0次或者一次 | /a[cd]?/ 可匹配a,ac,ad |
{n} | 连续出现n次 | a{3}/ 相当于aaa |
{n,} | 连续出现至少n次 | /a{3,}/ 可匹配aaa,aaaa,…… |
{n,m} | 连续出现至少n次,至多m次 | /ba{1,3}/ 可匹配ba,baa,baaa |