C#中重复模式的正则表达式

时间:2014-07-11 13:32:29

标签: c# regex validation

我正在尝试创建一个正则表达式来验证字符串。字符串可以是以下格式(以便了解我在这里尝试做什么):

145/1/3或

748/57676/6765/454/345或

45/234 45/235 45/236

所以基本上字符串可以包含数字,空格和正斜杠,字符串只能以数字结尾。我是regex的新手,并且经历了网站上的许多问题。但是你必须承认这真的令人困惑并且难以掌握。如果有人可以推荐一位可以教正则表达式的作者或任何网络链接,那将非常有帮助。先谢谢你的伙伴们!

4 个答案:

答案 0 :(得分:0)

试试这个:

^\d(\d|\s|\/)*\d$

\d =数字字符(您也可以使用[0-9])。 \s =空格字符 括号后跟星号表示无限次重复\d\s/。 最后的\d$表示结尾必须与数字匹配。

答案 1 :(得分:0)

这应该有效:^[/\d\s]*\d$

正在查找字符串^的开头,然后是0位或更多位数,空格[/\d\s]*后跟数字\d,然后是字符串$的结尾。

答案 2 :(得分:0)

我想出了这个

^[0-9]( |[0-9]|\/)*[0-9]$

并使用this来测试它。

你可以看到它匹配任何以数字开头(^)的东西,零或多个(*)的空格,数字或(|)正斜杠(/)和结尾($)的数字号。

现在我知道空格和/不能一起使用,也不允许使用多个空格和/或斜杠,这个RegEx更适合你。

^[0-9]+([ \/][0-9]+)*$

答案 3 :(得分:0)

您应该使用以下正则表达式:

(\d+(/\d+)*\s*)+

这意味着:一些数字(\d+)后跟一些数字和\(/\d+)*)的可选重复模式,后跟可选数量的空格(\s*) ,都至少重复过一次。