我还没能找到一个正则表达式来解决我的问题。我需要能够在正则表达式中定义TLD,例如TLD是" .co.uk"。我希望正则表达式删除所有子域名但保留domain.co.uk。 E.g。
subdomain1.subdomain2.subdomain3.domain.co.uk
111.222.333.444.domain.co.uk
因此,在上述两个示例中,基本上都要保留" domain.co.uk"。正则表达式采用Perl Style Regex语言。我认为最容易找到" .co.uk"最后,保留" .co.uk"左边的1个单词。如果任何其他句点位于1个单词的左侧,则删除所有这些字符。请记住" domain.co.uk"可以包括短划线和数字等
答案 0 :(得分:-1)
我认为这可能有所帮助,它使用了lookbehind断言?<=
:
(?<=\.)[a-z0-9-]*\.co\.uk
您可以在此处进行测试:https://regex101.com/r/bA8xX8/2
目前子域只包含字母,数字和短划线:[a-z0-9-]
如果你想添加更多字符,请将它们放在方括号中。