2009-05-25 130 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} $

是我的問題的答案需要的。

感謝您的幫助。

相關問題