参考正则表达式教程
正则表达式
作用:
对字符串执行模式匹配,匹配特殊字符或有特殊搭配原则的字符。
创建方式
- 直接量:/expression/gim;-->两个斜杠中间书写正则表达式,右边的i代表ignore case忽略大小写;g代表全局匹配;m代表多行匹配模式。
- new RegExp(pattern,mode);
方括号
表达式 | 描述 |
[abc] |
查找方括号之间的任何字符。 |
[^abc] |
查找任何不在方括号之间的字符。 |
[0-9] |
查找任何从0到9的数字。 |
[a-z] |
查找任何从小写a到小写z的字符。 |
[A-Z] |
查找任何从大写A到大写Z的字符。 |
[A-z] |
查找任何从大写A到小写z的字符。 |
[adgk] |
查找给定集合内的任何字符。 |
[^adgk] |
查找给定集合外的任何字符。 |
(red l blue l yellow) |
查找任何指定的选项。 |
元字符
元字符 | 描述 |
. |
[^\r\n],查找单个字符,除了换行和行结束符。 |
\w |
[0-9A-z_],查找单词字符。 |
\W |
[^\w],查找非单词字符。 |
\d |
[0-9],查找数字字符 |
\D |
[^0-9],查找非数字字符 |
\s |
[\t\r\n\f\v ],查找空白字符. |
\S |
[^\s],查找非空白字符。 |
\b |
匹配单词边界 |
\B |
匹配非单词边界 |
\0 |
查找NUL字符。 |
\t |
查找制表符。 |
\n |
查找换行符。 |
\f |
查找换页符。 |
\r |
查找回车符 |
\v |
查找垂直制表符。 |
\xxx |
查找以八进制数xxx规定的字符。 |
\xdd |
查找以十六进制数dd规定的字符。 |
\uxxxx |
查找以十六进制数xxxx规定的Unicode字符。 |
量词
量词 | 描述 |
n+ |
{1,},匹配任何包含至少一个n的字符串。 |
n* |
{0,},匹配人恶化包含0个或多个n的字符串。 |
n? |
{0,1},匹配任何包含0个或1个n的字符串。 |
n{x} |
{x},匹配包含x个n的字符串。 |
n{x,y} |
{x,y},匹配包含x至y个n的序列的字符串。 |
n{x,} |
{x,},匹配包含至少x个n的序列的字符串。 |
n$ |
匹配任何结尾为n的字符串。 |
^n |
匹配任何开头为n的字符串。 |
PS:正则表达式的匹配都是贪心的,能匹配多就不匹配少。