我需要一个验证这个网址的正则表达式:
为:
www.*.com
www.abc*
*.*
好:
*abc.com
*.com
www.abc.com
答案 0 :(得分:1)
您可以使用正则表达式:
^(www\.)?([a-zA-Z0-9\-]+?)(\.com)$
以下是正则表达式如何运作的细分:
regex101.com上的
^
匹配字符串的开头
(www\.)?
不检查任何内容,或字符串www.
。
[a-zA-Z0-9\-]
匹配任何字母(大写和小写),以及数字和连字符。
([a-zA-Z0-9\-]+?)
匹配上述一次或多次,并尝试找到最小的匹配。
(\.com)
字面上匹配字符串.com
。
$
匹配字符串的结尾。
Here's a live preview of the regex in action
这将允许以下网址:
但不允许使用以下网址:
如果您想允许除www
以外的子域名(以及多个子域名),以及允许除.com
以外的其他域名,您可以使用:
^(([\w\-]+\.)+?)?([a-zA-Z0-9\-]+?)(\.[a-zA-Z]{2,})$
这改变了:
(www\.)?
已更改为(([\w\-]+\.)+?)?
。
[\w\-]+
匹配任何字母(大写或小写),以及数字,连字符和下划线一次或多次。\.
字面匹配字符.
。([\w\-]+\.)
+?
与上述内容匹配一次或多次,找到最小的匹配。(([\w\-]+\.)+?)
?
制作以上可选
(\.com)
已更改为(\.[a-zA-Z]{2,})
\.
字面匹配字符.
[a-zA-Z]{2,}
匹配任何字母,大写或小写,两次或多次
如果您还想在regex101.com上添加上述here's a preview of the new regex。