0

如何使正则表达式匹配并排除某些字符。例如,我正在为所有国家的 TDL 匹配做一个正则表达式。

[a-z]{1,}((?!.ru)|.kr|.lt|.cn|.uk|.id|)

或者

[a-z]{1,}.([a-z]{1,})

gsdfg.ru <- 这应该匹配

sgkjsr.us <- 只有 .us 不应匹配或应排除

4

1 回答 1

3

这应该有效(黑名单):

\.(?!us|eu)[a-z]{2}$

它搜索一个点 ( \.),它后面没有useu( (?!us|eu)),后面跟着两个小写字母 ( [a-z]{2}),就在字符串 ( $) 的末尾。

这也应该有效(白名单):

\.(?:ru|kr|cn|uk|id)$

它搜索一个点 ( ),然后在字符串 ( )的末尾\.紧跟一个ru, kr... 或, 。我使用而不是简单的,这样该组就不会创建捕获。如果您确实需要为以后的用户捕获国家代码,请随意删除该部分。id$(?:...)(...)?:

于 2013-01-09T20:17:40.253 回答