職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

先読みを使ったパターン

2021年11月09日 | Ruby3.0.1
先読みを使ったパターン


【開発環境】
OS:Win10(64ビット)
Ruby 3.0.1
VSCodeバージョン: 1.57.1

■先読みをパターン内で使用する場合、先読みを行うパターンを「(?=」から「)」の間に記述します。

/パターン(?=先読みパターン)パターン/

例文
/(a)(...)(b)/
例として上記のような正規表現オブジェクトを作成します。この正規表現は「a」で始まり、任意の文字が3文字続き、最後に「b」で終わる文字列にマッチします。
○ a012b
○ aboub
× awoomgb
× ab

今度は真ん中のパターンが先読み
/(a)(?=...)(b)/
今度の正規表現は「a」で始まり、「a」の後に任意の文字が3文字続くかどうかだけを確認し、マッチしていれば改めて「a」の後に「b」が続く文字列にマッチします。結果的に「a」の後に「b」で始まり任意の文字が2文字続く文字列にマッチします。
× a012b
○ aboub
× awoomgb
× ab

サンプルプログラム
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする