この正規表現を機能させようとしています。
[a-z0-9-\.]+(?!.in-addr.arpa*$)
サンプル -
sdfgsed.co.in //shall match
1.1.1.1.in-addr.arpa //shall not match
fgsagf.co.ru //shall match
agfasfdg21.cn //shall match
編集-
(?i)([a-z0-9-\.]{3,}\.(?!us|com|net)[a-z]{2})+$(?<!\.in-addr\.arpa)\x00
ここで提供された答えを試しました。ドメイン名に対して作成された DNS 要求のパケットを検索する正規表現は、.com .net を想定しています。組織の TDL。他のドメイン名は一致する必要があり、末尾が で終わる逆引き IP ルックアップ要求.in-addr.arpa
は一致しないはずです。名前は NULL の 16 進値で終わります。そして、名前はパケットのどこにでもある可能性があります。
パケット ペイロードで検索、例 -
27.5.17.50.in-addr.arpa //reverse IP look up, shall not match
abcd.com // .com TDL shall not match
hacker.ru //shall match
badguy.com.cn //shall match