正则表达式
概念
正则表达式,又称规则表达式。代码中常写为regex,regexp,RE。
作用:正则表通常被用来判断、检索,替换那些符合某个模式的文本。
正则基本规则
字符 | 描述 |
---|
* | 匹配前面的子表达式零次或者多次,例如,zo*能匹配"z"以及"zoo", *等价于{0,} |
+ | 匹配前面的表达式一次或者多次,例如’zo+‘能匹配’zo’以及‘zoo’,但不能匹配’z’. +等价于{1,}. |
? | 匹配前面的子表达式零次或者一次,例如“do(es)?”可以匹配do或者does中的do |
{n} | n是一个非负整数。匹配确定的n次。例如‘o{2}’不能匹配‘Bob’中的’o’,但是可以匹配’food’中的’oo’ |
{n,} | n是一个非负整数,至少匹配n次。例如,‘o{2}’不能匹配‘Bob’中的o,但能匹配fooooood中的所有o |
{n,m} | 最少匹配n次最多匹配m次。例如,o{1,3}将匹配fooooood中的前三个o,o{0,1}等价于o? |
x|y | 匹配x或者y。例如‘z|food’匹配z或者food。(z|f)ood匹配zood或者food |
---|
[xyz] | 字符集,匹配包含的任一字符。例如[abc]匹配plain中的a |
[^xyz] | 反向字符集。匹配未包含任何字符。例如 [ ^abc ]匹配plain中的p |
[a-z] | 字符范围。匹配指定范围内的任何字符。例如[a-z]匹配a到z范围内的任何小写字符。 |
[^a-z] | 反向范围字符。匹配不在任何指定范围内的任何字符。例如[ ^ a - z ]匹配不在a到z的任意字符 |
^ | 匹配输入字符串开始的位置,如果设置了regExp对象的mutiline属性,那么还会与\n\r之后的字符相匹配 |
---|
$ | 匹配字符串结尾的位置,如果如果设置了regExp对象的mutiline属性,那么还会与\n\r之前的字符相匹配 |
\d | 数字字符匹配,等效于[0-9] |
\D | 非数字字符匹配,等效[ ^ 0-9] |
\w | 匹配任何字类字符,包括下划线,与[A-Za-z0-9]等效 |
\W | 与任何非单词字符匹配,与[ ^A-Za-z0-9]等效 |
\ | 转义字符 |
---|
. | 匹配换行符\n之外的任何单字符,要匹配 |