2013-11-03 41 views
1

我有一個編號爲000\000000-00的編號,我想爲它生成一個正則表達式(正則表達式)。正則表達式的編號### ###### - ##

我已經試過這一點,但它失敗:

preg_match("/^([0-9]){3}[\\][0-9]{6}[\-][0-9]{2}$/", $number) 

回答

4

當你需要在你的正則表達式字面\斜線,你需要「四」越獄是這樣的:\\\\

preg_match("/^([0-9]{3})\\\\[0-9]{6}-[0-9]{2}$/", $number) 

因爲\對正則表達式和字符串都有特殊含義。

另外你不需要字符類,所以我只是刪除它們。

+0

另外請注意,您可以使用'\ d'而不是'[0-9]',只是讓它更容易閱讀...對於某些人來說,至少XD –

+0

@NiettheDarkAbsol是的,這是正確的。謝謝。當你不需要匹配Unicode數字時,我更喜歡使用'[0-9]',因爲它比'\ d'快。 –

+0

謝謝你們。我感謝你的幫助 – Miller