1、元字符
字符 | 备注 |
---|
. | 除了\n之外的任意的单个字符 |
[] | 字符组,任意的单个字符,中括号中的任意一个字符 |
| | 表示或者意思。优先级非常低,一般最后计算。 |
() | 含义:1、改变优先级 2、提取组。 |
\d | [0-9] |
\D | [^0-9] |
\s | 表示所有空白符 |
\S | 表示\s的反面 |
\w | [a-zA-Z0-9_] 所有的英文单词。 可匹配汉字,例:一欧股等 |
\W | \w的反面 |
\b | 单词的边界 |
例子:
========================
a(x|Y)b
z|food=>z 或者food
(z|f)ood =>zood 或者food
==================
A[AEIOU]B
a[0123456789]b
A[0-9]B
A[A-Za-z0-9\-]B //[]中\-转译
a[axz.]b//当.在中括号之内时,本身就表示一个普通的点,没有元字符的意思了
2、限定符
字符 | 备注 |
---|
{n} | 表示前面的表达式必须出现N次 |
{n,} | 表示前面的表达式至少出现N次,最多不限 |
{n,m} | 至少出现n次,最多出现m次 |
* | 出现0次或多次 |
+ | 出现1次或多次 |
? | 1、表示0或1 {0,1}2、终止贪婪模式:限定符后面。 |
^ | 1、字符的开始 2、[]中的非 |
$ | 字符的结束 |
例子:
color colour =>colou?r
a[a-z]{3}b
表达式的开始和结束:
(1)字符串开始:^ (2)[]中的非
^abc
abcdsjfkdsjlgfdlj
a[^0-9a-zA-Z$]b
结束:$
888$
dasjflksjdflk888
特殊情况举例
[\u4e00-\u9fa5]:匹配中文字符
[\s\S]:匹配任意一个字符。
3、转义字符
字符 | 备注 |
---|
^ | 匹配输入字符串的开始位置,要匹配 ^ 字符本身,请使用 ^。 |
$ | 匹配输入字符串的结束位置,要匹配 ^ 字符本身,请使用 $。 |
( ) | 标记一个子表达式的开始和结束位置 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
. | 匹配除换行符 \n之外的任何单字符。 |
[ ] | 标记一个中括号表达式的开始 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 |
\ | 转义符 |
{ } | 标记限定符表达式的开始。 |
| | 指明两项之间的一个选择。 |