正则表达式
正则表达式
概念
正则表达式,又称规则表达式。代码中常写为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之外的任何单字符,要匹配 |

浙公网安备 33010602011771号