2011-08-18 58 views

回答

3
@"^20\d{2}[0-1]\d[1-3]$" 

始於20,則任何位數2,然後0或1,那麼任何數字,那麼1,2或3。如果您需要在7後附加的數字,你可以插入一個\d*$

@"^20\d{2}[0-1]\d[1-3]\d*$" 

編輯:作爲CodeMonkey指出, \d將在C#被解釋爲轉義序列,所以一定要使用逐字串

+0

這只是不需要結束那裏;) – m0skit0

+0

@ m0skit0更新 – dlev

+0

+1良好的工作 - 工作得很好。唯一需要注意的是,第二個序列將匹配目標字符串,然後匹配一些。因此,除非他們知道他們將獲得一些額外的數據,否則任何人都可能不會使用它。 – 2011-08-18 12:22:16

0

正則表達式(如現在如上所示。):

^20\d\d[01]\d[123]\d*$ 

始於20,則2的任何數字,然後0或1,然後任何數字,然後1,2或3,然後只有數字或什麼都沒有。

+0

這個問題被標記爲C#,是不是你使用JavaScript語法的答案? –

+2

沒有使用大多數編程語言可用的regexp語法,並且可以很容易地進行轉換。 –

+0

很高興知道。我發現很多正則表達式引擎很難跟蹤。 –

0

我會

^20\d{2}[01]\d[1-3]\d*$ 
+0

確實,更新了它 – m0skit0

0
20\d{2}[01]\d{1}[123] 

可能不是很優化的走了,但它的工作原理:)

+0

不,匹配「aa20110512bf」例如 – m0skit0

0
20\d{2}(0|1)\d[1-3] 

我想這既然你使用的是C#我會努力

+0

不匹配,也會匹配「aa20110512bf」 – m0skit0

0

會建議在這裏使用正則表達式測試儀http://regexhero.net/tester/這很棒,您將能夠看到結果你在建立你的表情時突出顯示了你的表情。