规则 | 描述 |
---|---|
. | 匹配除了换行符外的任意字符 |
^ | 匹配字符串的开头 |
$ | 匹配字符串的结尾 |
* | 匹配前面的字符零次或多次 |
+ | 匹配前面的字符一次或多次 |
? | 匹配前面的字符零次或一次 |
{n} | 匹配前面的字符恰好 n 次 |
{n,} | 匹配前面的字符至少 n 次 |
{n,m} | 匹配前面的字符至少 n 次,但不超过 m 次 |
[] | 匹配方括号内的任意字符 |
[^...] | 不匹配方括号内的任何字符 |
(xyz) | 匹配括号内的任意模式 |
| | 匹配 | 左右两侧任意一个模式 |
例如,以下是一个匹配电子邮件地址的正则表达式:
^[^@\s]+@[^@\s]+\.[^@\s]+$
这个正则表达式的意思是:以非空白字符开头,后面跟着一个 "@" 符号,然后是非空白字符,再后面是一个点号,最后是非空白字符。这个正则表达式可以匹配绝大部分的合法电子邮件地址。
以下是更多的举例:
正则表达式 | 描述 |
---|---|
^\d+$ | 匹配一个或多个数字 |
^[A-Za-z]+$ | 匹配一个或多个字母 |
^[A-Z]+$ | 匹配一个或多个大写字母 |
^[a-z]+$ | 匹配一个或多个小写字母 |
^\w+$ | 匹配一个或多个单词字符(字母、数字或下划线) |
^\d{3}-\d{2}-\d{4}$ | 匹配美国社会安全号码格式(例如:123-45-6789) |
^\d{3}\.\d{2}$ | 匹配货币金额格式(例如:123.45) |
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$ | 匹配至少 8 个字符长的密码,至少包含一个数字、一个小写字母、一个大写字母和一个特殊字符(例如:!@#$%^&*) |