2011-11-23 92 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