是否存在 return 字符串中的子字符串与给定的特定子字符串列表不匹配的正则表达式?

Is there a regular expression that return substrings from a string, that do not match a given list of specific substrings?

您好,我想知道是否有可以执行以下操作的正则表达式:

Select 字符串中的所有子字符串:

并且那些子字符串不是

例如,给定字符串

'Stewie & Brian    &partners in crime;'

是否有正则表达式 return 仅 &partners 子字符串?

我的直觉说不,因为我需要上下文无关语法,但我如何证明这一点? 是否有正则表达式可以使用泵引理对其进行测试?

或者正则表达式确实存在而我的直觉是错误的?

谢谢

当然可以:

&(?!(amp|apos|lt|gt);)\S{4,}

n=4

live demo

这里的关键是否定前瞻 (?!(amp|apos|lt|gt);),它断言(不消耗输入)紧随其后的输入 匹配 (amp|apos|lt|gt);