正規表現の新人はこちらpokerhand(Java)と一致する正規表現
特定のポーカーハンドに一致する正規表現が必要です(フルハウス - 1つのランクのカード3枚と別のランクの2枚のカードを含むポーカーハンド)それは任意の順序でカードを備えたフルハウスとして認識する必要があります。すべてのカードのランク(23456789TJQKA)とスーツ(SHDC)
と私がいなくても必ず正規表現は、このための適切なツールですよ、あなたは私が何か他のもの:)
例をやるべきだと思うのであれば教えてください文字列は次のようになります
"KD KC AH AC AD"
私はこの醜い正規表現(?=.*(([2-9TJQKA])[SHDC]).*\2[SHDC].*\2[SHDC])(?=.*(?!\2)(([2-9TJQKA])[SHDC]).*\4[SHDC].*\4[SHDC]).*
を作ってみた
(ダイヤモンドの王、クラブの王、ハートのエース、クラブのエース、 ダイヤのエース)
それ仕事をしていないようです。
どのような文字列を取得しますか?そして何を得る必要がありますか? –
私は正規表現でそれをしません、手が2つの異なるランクだけを保持し、ランクの1つが正確に3回を示しているかどうかをチェックする簡単なメソッドを書くことができます。これは、書いて維持する簡単な方法でなければならないし、正規表現を使用していないため、ボーナスとしてより良いパフォーマンスを得ることができます。 – alfasin
文字列クラスのmatches()メソッドと文字列をマッチさせ、regexr.comによれば何も一致しません –