🔎 先読み・後読み編

先読み(lookahead)・後読み(lookbehind)は、「その部分自体はマッチ結果に含めないが、前後に特定の内容があることを条件にする」テクニックです。実務では非常によく使われます。

■ 肯定先読み (?=...) / 否定先読み (?!...)

\d+(?=円) は「円」が後に続く数字だけにマッチし、「円」自体はマッチ結果に含まれません。逆に \d+(?!円) は「円」が後に続かない数字にマッチします。

■ 肯定後読み (?<=...) / 否定後読み (?<!...)

(?<=¥)\d+ は「¥」の直後にある数字だけにマッチします。(?<!非)公開 は「非」が直前にない「公開」だけにマッチします。

■ 言語による対応状況の違い

後読みは比較的新しい機能で対応状況が異なります。JavaScriptはES2018以降で対応、PHP(PCRE)は可変長の後読みにも対応、Pythonの標準reモジュールは原則固定長のみ対応です。