正则表达式 - 运算符优先级

正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。

相同优先级的从左到右进行运算,不同优先级的运算先高后低。下表从最高到最低说明了各种正则表达式运算符的优先级顺序:

运算符	            描述
\	                转义符
(), (?:), (?=), []	圆括号和方括号

*, +, ?, {n}, {n,}, {n,m}	限定符

^, $, \             任何元字符、任何字符	定位点和序列(即:位置和顺序)

|	                替换,"或"操作

字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。