2011-11-23 88 views
-4

快速的問題。Java正則表達式匹配卡片

Java正則表達式的代碼是什麼,它與第一個char上的{1,2,3,4,5,6,7,8,9,T,J,Q,K}和第二個上的{S,D,C,H}的字符串匹配。我怎樣才能做到這一點?

謝謝。

+4

之前,你需要學習正則表達式。 – SLaks

+0

這就是爲什麼我問。希望這爲例e幫助我瞭解更多關於它們的信息。 – nunos

回答

4

很簡單:

'^[1-9TJQK][SDCH]$' 

注意,使用^$意味着該字符串只包含兩個字符,並尊重你需要的規則。因爲Jonathon Reinhart指出,也許我的單行解釋是不夠的。顯然你應該深入研究那個標誌的含義。反正一個好的開始點是他的描述:

  • ^裝置「在串的開始」
  • [1-9TJQK]手段「1和9(含)或T或按J或Q或K
  • 之間的任意一個字符[SDCH]同樣的邏輯
  • $的意思是「在字符串的結束」
+0

請注意,$可能是OP想要的(它表示字符串的結尾),即使他沒有在他的帖子中專門說過。 – corsiKa

+2

說明可能有幫助。 '^'表示「在字符串開頭。」 '[1-9TJQK]'表示「1到9之間的任何一個字符(包括1或9)或T或J或Q或K。'SDCH'的相同邏輯。'$'表示」在字符串末尾「。 –

+0

所以如果我試圖在沒有$符號的情況下爲「1Dx」做一個匹配我會得到一個匹配?我嘗試過在java中但它不匹配... – nunos