2012-10-11 56 views
2

我想檢查一個字符串是否至少包含A-Za-z0-9但不包含&。 我用正則表達式的經驗是有限的,所以我開始用最簡單的部分,並得到:正則表達式來檢查一個字符串是否至少包含A-Za-z0-9而不是一個&

.*[a-zA-Z0-9].* 

但是我有這個困擾具有組合不包含&部分。 我正在考慮沿着^(?=.*[a-zA-Z0-9].*)(?![&()]).*的路線,但似乎並沒有辦法。

任何幫助,將不勝感激。

+0

你的語言是什麼? –

+0

Java,但我們基於註釋的驗證,所以我使用@Pattern – Jack

+0

我認爲有回撥方法的地方 –

回答

1

我不知道這是否你的意思,但在這裏是一個正則表達式將匹配任何字符串:

  • 至少包含一個字母數字字符
  • 不包含&

該表達式可確保整個字符串總是匹配的(在開始和結束時^$),並且沒有匹配的字符的是一個「&「號(該[^&]*部分):

^[^&]*[a-zA-Z0-9][^&]*$ 

但是,它可能會在代碼中更清楚簡單地進行兩次檢查,如果你不侷限於單一的表達。

此外,請檢查正則表達式中的\w類(如果要允許非ASCII字符,它可能是捕獲字母數字字符的更好解決方案)。

相關問題