通常の正規表現関数は、「\|」や繰り返し構文を処理するために必要に応じてバックトラッキングを行いますが、これを行うのはいずれかのマッチが見つかるまでです。その後、関数は成功し、最初に見つかったマッチを報告します。
本節では、正規表現マッチングにおいてPOSIX標準で規定されている完全なバックトラッキングを実行する代替検索関数について説明します。これらの関数は、あらゆる可能性を試してすべてのマッチが見つかるまでバックトラッキングを継続するため、POSIXの規定通りに最長のマッチを報告することができます。この方式は処理速度が大幅に低下するため、本当に最長のマッチが必要な場合にのみこれらの関数を使用してください。
名称にかかわらず、POSIXの検索・マッチ関数はPOSIX正規表現ではなく、Emacsの正規表現を使用しています。EmacsとPOSIX正規表現の比較を参照してください。また、これらの関数は非貪欲繰り返し演算子を適切にサポートしていません(非貪欲を参照)。これは、POSIXのバックトラッキングが非貪欲繰り返しのセマンティクスと競合するためです。
これは re-search-forward と同様ですが、正規表現マッチングにおいて POSIX
標準で規定されている完全なバックトラッキングを実行します。
これは re-search-backward と同様ですが、正規表現マッチングにおいて POSIX
標準で規定されている完全なバックトラッキングを実行します。
これは looking-at と同様ですが、正規表現マッチングにおいて POSIX
標準で規定されている完全なバックトラッキングを実行します。
これは string-match と同様ですが、正規表現マッチングにおいて POSIX
標準で規定されている完全なバックトラッキングを実行します。