正则表达式匹配正则表达式与 1 个语句但不是另一个

Regex match regex with 1 statement but not another

我正在尝试匹配这个正则表达式

(sq.*f|gla|livingarea)

但我希望它的任何地方都没有字母 'pr'。

所以像 sqftpr 或 pricesqft 等东西不匹配。

我可以用负面回顾来防止 pricesqft

(?<!pr)(sq.*f|gla|livingarea)

我无法以消极的眼光看待工作。知道我怎样才能同时获得两者吗?

(?<!pr)(sq.*f|g.?la|livingarea)(?!pr)

知道如何在两侧'pr' 都进行阻挡吗?

(?=^((?!pr).)$).(?=(sq.*f|g.?la|livinarea)) 这似乎是答案,一个积极的前瞻(本质上是一个和)寻找 'pr' 而不是我想要匹配到右边的东西。