【发布时间】:2011-07-01 11:11:26
【问题描述】:
我需要一个正则表达式来匹配最多包含 2 个破折号和 2 个点的任何字符串。 不必有破折号或点,但如果有 3 个以上的破折号 或 3 个点,甚至 3 个以上的破折号和 3 个以上的点,则正则表达式不能与字符串匹配。
旨在用于 PHP。
我知道使用 PHP 函数的简单替代方案,但它用于只允许使用正则表达式进行过滤的大型系统。
将匹配的示例字符串:
hello-world.com
不匹配的示例字符串:
www.hello-world.easy.com 或 hello-world-i-win.com
【问题讨论】:
-
您能解释一下为什么需要这样的要求吗?您是否正在尝试验证网址?
-
我看不出一个多于两个点的 URL 是如何无效的 :-) 但是,它是用于过滤 OUT url,它们过于复杂且似乎是自动生成的。