我需要捕获包含多个点的字符串。字符串将主要包含域名,例如example.com、fun.example.com、test.funflys.com。
我该如何使用 来做到这一点regex?
您应该避开点,因为它们具有特殊含义。
所以,该正则表达式将是;
.*\..*\..*
Run Code Online (Sandbox Code Playgroud)
但你应该小心,这\可能对你的编程语言也有特殊的含义,你可能也必须转义它们。
这是用 JavaScript 实现的。
var regex = /(\..*){2,}/;
regex.test("hello.world."); // true
regex.test("hello.world"); // false
regex.test("."); // false
regex.test(".."); // true
Run Code Online (Sandbox Code Playgroud)
它搜索模式“点后跟任何内容(或什么都没有)”,重复两次或更多次。