2009-05-25 129 views
1

正则表达式接受'CP123'前两个字母CP和其他3或4或5个数字。正则表达式匹配“CP”后跟3-5个数字

+0

谢谢大家。 在CP [0-9] {3,5}中它获取CP123,但不接受CP1或CP72。我希望所有这些接受CP123,CP1234,CP1,CP34。 谢谢 – Waheed 2009-05-25 10:58:03

+0

然后尝试此CP [0-9] {1,5} – ardsrk 2009-05-25 11:09:08

回答

11
CP[0-9]{3,5} 
+0

谢谢。 在CP [0-9] {3,5}中,它获取CP123,但不接受CP1或CP72。我希望所有这些接受CP123,CP1234,CP1,CP34。 谢谢 – Waheed 2009-05-25 10:59:02

+0

这里{x,y}定义了要匹配的[0-9]的最小值和最大值。将x和y更改为任何你想要的。 – Canopus 2009-05-25 11:08:19

4

这应该为所有的正则表达式引擎的工作原理:

CP[0-9]{3,5} 
-3
"$CP123[3-5]^" 
1

即使你的问题是不是很清楚这应该工作:

r'^CP[0-9]{3,5}$' 
6

这将满足您的要求:

^CP\d{3,5}$ 

^匹配字符串的开头,以便它不允许任何字符在“CP”左侧。

\ d匹配一个数字,{3,5}使匹配3-5个数字。

$匹配字符串的末尾,以便它不允许位数后的任何字符。

如果您使用的验证控件的正则表达式,你可以删除^和$,因为这是由控制补充说:

CP\d{3,5} 
0
Regex regxExp = new Regex("CP[0-9]{3,5}"); 
bool result = regxExp.IsMatch(//Expression); 
2

按在评论更新:

CP\d{1,5} 

如果你想在CP后面加一到五位数字。否则使用

CP\d+ 

如果你只是希望CP后面至少有一位数。

0

谢谢大家

^[CC] [PP] \ d {1,5} $

是我的问题的答案需要的。

感谢您的帮助。