baronyan's blog

linux,macでruby、railsでの開発をしていく中で知ったこと、備忘的なことなどを書いていきます。

【正規表現】否定先読みと否定戻り読みを使って、重複なく、同一文字が続く箇所を指定する

「t」が3文字以上続く箇所のみをピックアップする例

(?<!t)t{3,}(?!t)

単純に
t{3,}
だと、
tttt
という文字列の1文字目から始まる「tttt」と2文字目から始まる「ttt」の両方にヒットしてしまう