定位符,用来标记位置 | |
$ | 匹配输入字符串的结尾位置 |
^ | 匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^ |
\b | 匹配字的边界:字和空格之间的位置 |
\B | 非字边界匹配 |
限制符,用来限制次数 | |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符 |
{n} | 确定匹配n次 |
{n, } | 至少匹配n次 |
{n, m} | 匹配n次到m次 |
标记表达式,有三种:中括号表达式、子表达式、限定符表达式 | |
[ | 标记一个中括号表达式的开始。 |
( ) | 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。使用方式$1, $2 ... |
{ | 标记限定符表达式的开始。要匹配 {,请使用 \{ |
逻辑运算符,表示或 | |
| | 指明两项之间的一个选择 |
元字符,用于匹配 | |
. | 匹配除换行符 \n之外的任何单字符 |
\d | 匹配数字,0-9 |
\s | 匹配任何空白 [\f\n\r\t\v],其中\f换页, \n换行, \r回车, \t制表, \v垂直制表 |
\w | 下划线、数字和字母 |
中括号表达式 | |
[xyz] | 匹配括号中的任意一个 |
[^xyz] | 匹配除了括号中符号的任意一个,不匹配xyx |
[0-9] | -表示范围 |
运算符优先级 | 描述 |
---|---|
\ | 转义符 |
(), (?:), (?=), [] | 圆括号和方括号 |
*, +, ?, {n}, {n,}, {n,m} | 限定符 |
^, $, \任何元字符、任何字符 | 定位点和序列(即:位置和顺序) |
| | 替换,"或"操作 字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。 |