URL正则表达式匹配十进制后的精确3个字符

时间:2012-04-26 14:36:54

标签: regex

我要求正则表达式在小数点后正好匹配3或2个字符,以便它验证www.xyz.com而不是xyz.Complete

3 个答案:

答案 0 :(得分:2)

我认为你想要的是\b

我无法想到使用单词边界断言\b无法合理涵盖的案例。任何其他答案在最后只需要\b(如果它总是{{1}然后你使用.com这意味着一个字面点(.com\b)字符后跟.,其中后面的内容不是字母,数字或下划线。它是零宽度断言,这意味着它不会捕获任何内容。要允许com.net,您还可以使用.edu

使用正则表达式的大多数工具和语言都支持\.(com|edu|net)\b断言,但如果您需要更精确(例如,您可能希望在\b之后允许使用下划线),那么您的工具或语言编译器可能支持“前瞻”,这也是零宽度断言。 (在上面提到的例子中,你会使用类似com的东西来禁止数字和大写或小写字母)

答案 1 :(得分:1)

严格回答你的问题

  

小数点后正好匹配3或2个字符

仅匹配结尾:

\.[A-Za-z]{2,3}$

\转义.,否则表示“任何字符”

答案 2 :(得分:1)

您忘记了字符串开始和结束检查(^$)。使用此:

^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$