33.4 POSIXの正規表現探索
普通の正規表現関数は、‘\|’や反復構文を扱うために必要なときには
バックトラックしますが、これを行い続けるのは
なんらかの一致をみつけるまでです。
みつけてしまえば、それらは成功してみつけた最初の一致を報告します。
本節では、正規表現の一致に関するPOSIX規格で規定された
完全なバックトラックを行う代替の探索関数について述べます。
それらはすべての可能性を試し尽くしすべての一致箇所を探し終える
までバックトラックを継続してます。
そのため、POSIXで要求されるとおりの最長の一致を報告できるのです。
これは動作がとても遅いですから、最長一致が本当に必要な場合に限って
これらの関数を使ってください。
— Function:
posix-search-forward regexp &optional limit noerror repeat
これはre-search-forward
と同様であるが、
正規表現の一致に関するPOSIX規格で規定された完全なバックトラックを行う。
— Function:
posix-search-backward regexp &optional limit noerror repeat
これはre-search-backward
と同様であるが、
正規表現の一致に関するPOSIX規格で規定された完全なバックトラックを行う。
— Function:
posix-looking-at regexp
これはlooking-at
と同様であるが、
正規表現の一致に関するPOSIX規格で規定された完全なバックトラックを行う。
— Function:
posix-string-match regexp string &optional start
これはstring-match
と同様であるが、
正規表現の一致に関するPOSIX規格で規定された完全なバックトラックを行う。