需要在C#中编写正则表达式仅用于数字

时间:2013-08-23 10:51:06

标签: c# regex

我需要在C#中使用正则表达式来满足以下条件,这将验证文本框条目:

我应该包含5位数字或6位数字。 如果有多个条目,则数字应由不带空格的管道字符分隔。示例:34786 | 235652 | 12876

我尝试了以下正则表达式,它们不起作用丙炔:

^\d{5,6}\|?\d{5,6}?$
^[\d{5,6}+][\|?][\d{5,6}?]$
(^\d{5,6}$)|(^\d{5,6}\|?[\d{5,6}*]$)

请帮助!!

2 个答案:

答案 0 :(得分:4)

试试这个:

^\d{5,6}(\|\d{5,6})*$

答案 1 :(得分:4)

这应该有效:

^[0-9]{5,6}(\|[0-9]{5,6})*$

阐释:

^ =行首

[0-9] =任何数字(\d也会起作用)

{5,6} = 5或6次

(...)* =无论在()内是什么,0次或更多次

\| =竖线字符

$ =行尾

拼凑起来,它是“行首,后跟5或6位数后跟[竖线字符后跟5或6位数] 0次或更多次后跟行尾”