转自:http://www.runoob.com/regexp/regexp-operator.html
正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。
相同优先级的从左到右进行运算,不同优先级的运算先高后低。下表从最高到最低说明了各种正则表达式运算符的优先级顺序:
运算符 描述
- \ 转义符
- (), (?:), (?=), [] 圆括号和方括号
- *, +, ?, {n}, {n,}, {n,m} 限定符
- ^, $, \任何元字符、任何字符 定位点和序列(即:位置和顺序)
- | 替换,"或"操作字符具有高于替换运算符的优先级,使得"m|food"匹 配"m"或"food"。若要匹 配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。