正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。
下表从最高到最低说明了各种正则表达式运算符的优先级顺序:
运算符 | 说明 |
---|---|
/ | 转义符 |
(), (?:), (?=), [] | 括号和中括号 |
*, +, ?, {n}, {n,}, {n,m} | 限定符 |
^, $, /anymetacharacter, anycharacter | 定位点和序列 |
| | 替换 |
字符的优先级比替换运算符高,替换运算符允许“m|food”与“m”或“food”匹配。若要匹配“mood”或“food”,请使用括号创建子表达式,从而产生“(m|f)ood”。