2011-09-13 60 views
1

我必須編寫一個允許字母和數字的正則表達式,但不允許字符如/和? 。有人可以幫我解決這個問題嗎?在此先感謝正則表達式允許某些字符並禁用其他字符

+1

其中正則表達式的味道多個字符?你認爲'à',''或'Щ'是字母還是'3'或'8'是數字? –

+0

請列舉您想要允許的內容,或者您​​想禁止的內容。沒有這個澄清,我們無法幫助你(也無法自己解決這個問題)。 – tripleee

回答

1

此正則表達式做了你問什麼:

^(?!.*(/|\?))[a-zA-Z0-9]+$ 

它僅僅只在由單獨的字母和/或數字輸入相匹配,再加上它的負前瞻,以確保沒有/?

要排除特殊字符,只需將它們添加到向前看,例如也排除@使用本(?!.*(/|\?|@))(在?需要用反斜槓\轉義)

+0

我不想阻止所有的特殊字符。只有一些數字,比如?和/提一對夫婦。 –

+0

確定 - 編輯做一個負向前排除某些特殊字符 – Bohemian

+0

我測試了這個表達式,它確實阻止了所需的字符,但它似乎不允許字母數字字符以及..... –

0

的元字符\w匹配字母數字,其指所有數字,ASCII字母和下劃線(_)。

1

假設你要允許不僅僅是ASCII字母和數字(和你的正則表達式的味道支持Unicode)以上,就可以使用

^[\p{L}\p{N}]*$ 
0

你可以試着集中精力,你不字符要允許如果清單更加清晰超過允許一個:

^[^\?\/\s\(\)]+$ 

填寫[]與你不喜歡

相關問題