否定词组? - 正则表达式(Regex)

Negate Word Groups? - Regular Expression (Regex)

很容易得到一个正则表达式,让你得到所有 "com/net/org"

这里是:

^.+(com|org|net)$

但是,我正在尝试查找所有没有 com/net/org

的域

我好像找不到否定组这个词的方法com/net/org

以下是示例字符串:

piquetraveldesign.com
rigall.com.au
hunt4me.co.uk
cialis-without-prescription.us
filipinocommunityseattle.org
mortgageplanningblog.com
mental-health-training.net
final-fantasy-xiv-gil.com
uoblife.com.sg
unashamedandassociates.biz
heaonlineshop.com

有什么想法吗?

由于其固定长度,您可以使用 negative 回顾断言。
如果所有行都在一个字符串中,则必须设置多行模式
所以 $ 表示行尾,而不是字符串结尾。

 # .+(?<!\.(?:com|org|net))$

 .+ 
 (?<!
      \.
      (?: com | org | net )
 )
 $

您可以使用 Negative Lookahead 断言。

^(?!.*(?:com|net|org)$).+$