我需要验证域名注册,因为它不能仅由数字组成,验证需要符合我的算法的工作方式,即返回完整的域名(没有.com,.net等扩展名)如果它是正确的。
我尝试了一些没有成功的表达方式:
^[^0-9]+$ # that one wont let he type a number
^\w[^0-9]+\w$ # that wont work too
有人可以帮助我吗?
答案 0 :(得分:3)
所以,为了清楚起见,你希望它在包含唯一数字的字符串上返回False吗?试试这个:
编辑4 根据对问题的字面解释,这就是您所需要的:
\D
对于包含不是数字的字符的任何字符串,它将匹配True。
但是,根据您要匹配网址的事实,您可能需要更多类似的内容:
^\w*[a-zA-Z_]\w*$
这将匹配包含字母数字和_
的任何字符串,只要它包含至少一个字母或_
。
答案 1 :(得分:1)
您想要至少一个不是数字的字符。所以:^.*[^0-9].*$
。
如果你只想要字母(但不是整个.
),你需要先行:^\w*(?![0-9])\w\w*$
,意思是:没有数字,但是字母。
答案 2 :(得分:1)
(?=.*\D)
使用lookahaed。如果字符串仅由数字组成,则会失败。