2つのマーカー間の文字列をキャプチャするための最短の解決策は何でしょうか?
たとえば、私が持っていると想像してみましょう
blahblahblah --- foobar-- blahblahblah
そして、「foobar」をキャプチャしたいと思います。
文字列「---foobar--」は正規表現で非常に簡単にキャプチャできます。
しかし、接頭辞「---」と接尾辞「-」は必要ないので、結果をクリーンアップするために多くの手順が必要です。
- プレフィックス「---」の位置を取得します(すでにブロックをキャプチャしているため、位置が0であることがわかります)
- 「---」の長さを取得します(例として、リミッターのサイズがわからないと仮定します。「---」、「-」、「-」のいずれかになります)
- 位置position_prefix+prefix_lengthで始まる、接尾辞「-」の位置を取得します
- position_prefix+prefix_lengthとposition_suffixの間のサブストリング
もちろん、必要に応じてそのような関数を自分で作成することもできますが、そのための組み込みソリューションはすでにありますか?
CaptureWithoutDelimiters(group_regex、prefix_regex、suffix_regex)のようなものですか?