2010-05-01 66 views
0

我想檢查是否有字符串從數字開始,然後可選字符與正則表達式的幫助。什麼應該是正則表達式匹配字符串必須開始與數字和那麼字符可能存在或不存在。像字符串"30a""30"它應該匹配。但如果有"a"或其他字符或sereis的字符,字符串不應匹配。沒有別的,但正則表達式匹配字符串

回答

2

聽起來像應該可以是任何數字的數字字符在開頭,其次是可選的其他字符。後在開始一系列的數字匹配任何其他角色,我會用:

\d+.* 

要匹配只有字母強制數字開始後數字角色,我會用:

\d+\w* 

注意:正如Dav指出的那樣,如果在表達式的開始處添加^,並在此表達式的末尾添加$,如^\d+\w*$,您將確保整個字符串匹配。但是,如果您將它們關閉,您將能夠搜索輸入字符串以獲取所需內容。這取決於你的需求。

0
^\d.* 

^的字符串的開頭相匹配,\d一個單一的數字相匹配,然後將.*任何數量的附加的字符相匹配。

因此,最終的結果是它只有在字符串以數字開頭時才匹配。

+0

@ Dav,嗨,當我將正則表達式存儲在字符串變量中時,它會給出錯誤,如Unrecognize轉義序列。 – Harikrishna 2010-05-01 05:05:19

+0

一定要關閉在c#中的轉義,就像這樣'Regex.Match(@「\ d + \ w *」,instr)'。注意正則表達式字符串之前的@。 – 2010-05-01 05:09:13

+0

@ BigJason,謝謝,但爲什麼我們用@來關閉轉義,什麼是轉義? – Harikrishna 2010-05-01 05:11:42

相關問題