【发布时间】:2012-09-24 13:36:53
【问题描述】:
我需要创建一个正则表达式来识别一个字符串,如果这是一个符合我的标准的 url,但我在识别域名时遇到了困难......
域名的标准是
- 仅
[a-z][0-9]、.和- - 第一个字符必须是
[a-z] - 在
.或-之前和之后必须是[a-z] - 最小长度 1 个字符
域区域是
- 仅
[a-z]和. - 第一个字符必须是
. - 最小长度 3 个字符
格式应为www.<domain name>.<domain region>
我得到了什么..
www.[a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-].[a-z+\.]{2,}[^\.]$
这是域名
[a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-]
这是针对域区域的
.[a-z+\.]{2,}[^\.]$
这将是www.sample.com.sg
-
www..sample.com会因为.sample而被拒绝 -
www.sample..com会因为sample.而被拒绝 -
www.sample.com.sg.会因为.com.sg.而被拒绝 -
www.sampl3.sample.com将被拒绝,因为sampl3.规则 numb 3。
【问题讨论】:
-
这是一个开始:
www\.[a-z]([.-][a-z]|[a-z0-9])+ -
您确定规则 3 吗?
all-4-one.com有什么问题? -
thx.. 4 你的快速响应.. 但在域名的末尾,它不能是'.'或'-'..我该如何验证? err.. 我不认为这是识别 url 的一个很好的标准,但我有一个作业,这是我的讲师给出的标准.. 所以这就是为什么..ahahahhaa..xD
-
这只是一个开始。它应该把你带到 TLD - 但不是你关于连字符周围只有字母的额外规则。
-
哈哈哈..是的..这是真的..有了这个额外的规则,这不能是TLD..@_@
标签: c# javascript regex expression