带有点的字符串的正则表达式,没有特殊字符或空格

时间:2014-07-15 12:10:36

标签: c# regex string

我需要正则表达式,允许至少2个,最多4个点。字符串不能以点开头或结尾。不允许使用_ , * # $等特殊字符。

字符串的格式必须为string.string.string。可选地,它可以包含3个以上的项目(其中dot是项目分隔符)。

不允许使用.string1.string1.string2string1. string2. string3str#ing1.strin*g2.str$ing3等字符串。

首先我尝试过:^[a-zA-Z0-9]+$,但我不想以dot开头。我添加了^[^\.][a-zA-Z0-9]+$,我想在第一个字符串后面加点,所以我做了这个[^。] + ([a-zA-Z0-9])([\.]{1})

它接受像#而不是a-zA-Z和数字0-9这样的字符,所以我卡住了。

2 个答案:

答案 0 :(得分:2)

您可以使用:

^(?i)[a-z0-9]+(?:\.[a-z0-9]+){2,4}$

您可以使用online demo

中的输入

答案 1 :(得分:1)

尝试以下方法:

^\w+(?:\.\w+){2,4}$

'?:'在小组的开头意味着它是一个非捕获组。 {2,4}表示前一组必须重复2到4次。