用户在我的脚本中输入域/子域作为输入。我不想在域内允许特定字符串,但允许它们在子域内(如果使用子域)。
以下是用户输入示例:
[允许这里的坏词]。[不允许这里的坏词]。[tld]
[不允许这里的坏词]。[tld]
请注意,TLD可能包含单个部分(.com)或多个部分(.co.uk),应予以考虑。出于这个原因,一个简单的正则表达式不会起到作用。
此外,坏词可能在域或子域本身之前,之后或之间。
答案 0 :(得分:1)
按照你的例子:
"^[^.]*bad[^.]*\.[^.]+$"
如果匹配,则不应该允许。
如果你需要一个更通用的答案,你将需要多挖一点。
修改强>
如果您有二级域名列表:
"bad[^.]*\.(co.uk|com|...)$"
虽然可能会很慢。可以更好地匹配坏,然后检查二级域名是否在列表中。