我有以下查询,并在两个正则表达式模式之间使用或condion进行采样
模式:\((?>\((?<c>)|[^()]+|\)(?<-c>))*(?(c)(?!))\)(?=[)[]GS)|(?=[^ ]*\$).*(?=[[]GS)
输入:$sense$[TM] & ( ( monitoring$ | automat$ | building$ | facilit$ )[GS]) & "9"[IC]
使用模式\((?>\((?<c>)|[^()]+|\)(?<-c>))*(?(c)(?!))\)(?=[)[]GS)
(?=[^ ]*\$).*(?=[[]GS)
所需的输出:( ( monitoring$ | automat$ | building$ | facilit$ )
但如果我同时使用两种模式“|”它给出的改变低于结果
$sense$[TM] & ( ( monitoring$ | automat$ | building$ | facilit$ )
原因:|
之后的第二个模式也在执行。