シェルワンライナー160本ノック問題99
問題99 ポーカーの役
問題のファイルは
https://github.com/shellgei/shellgei160
からダウンロードできる。
フラッシュとフルハウスを抜き出す問題だった。うまい正規表現の形を思いつけず、なんだか惜しいものを生み出してしまった。
解答例はそれぞれ
cat cards.txt | grep -P '^(.) (\d+)( \1 \d+){4}'
cat cards.txt | grep -P '^(. (\d+)( . \2){1,2}) \g<1>$'
となる。前者がフラッシュ、後者がフルハウスだ。少し勘違いしていて、\1といった表記を使えるのが-Eのオプションだと思い込んでいた。前者の(\d+)の部分はかっこがなくても問題ない。