我需要正则表达式,允许至少2个,最多4个点。字符串不能以点开头或结尾。不允许使用_ , * # $
等特殊字符。
字符串的格式必须为string.string.string
。可选地,它可以包含3个以上的项目(其中dot是项目分隔符)。
不允许使用.string1.
,string1.string2
,string1. string2. string3
和str#ing1.strin*g2.str$ing3
等字符串。
首先我尝试过:^[a-zA-Z0-9]+$
,但我不想以dot开头。我添加了^[^\.][a-zA-Z0-9]+$
,我想在第一个字符串后面加点,所以我做了这个[^。] + ([a-zA-Z0-9])([\.]{1})
。
它接受像#而不是a-zA-Z和数字0-9这样的字符,所以我卡住了。
答案 0 :(得分:2)
答案 1 :(得分:1)
尝试以下方法:
^\w+(?:\.\w+){2,4}$
'?:'在小组的开头意味着它是一个非捕获组。 {2,4}表示前一组必须重复2到4次。