柔軟性の高い正規表現を書こうとすると,避けて通れないのが先読み・後読みです. 先読み・後読みに関して,いままではとりあえず的な理解をしていたのですが,それだと説明できない正規表現に遭遇したので,説明できるまで理解を深めてみました. とりあえず的な理解 正規表現を使って間もない人が先読み・後読みを理解するための説明です. 肯定的先読み(?=pattern) 次の正規表現では直後にbarがあるfoo(barは含まない)に一致します. foo(?=bar) 否定的先読み(?!pattern) 次の正規表現では直後にbarがないfoo(barは含まない)に一致します. foo(?!bar) 肯定的後読み(?<=pattern) 次の正規表現では直前に barがあるfoo(barは含まない)に一致します. (?<=bar)foo 否定的後読み(?<!pattern) 次の正規表現では直前にbarがな
![正規表現の先読み・後読みを極める!](https://cdn-ak-scissors.b.st-hatena.com/image/square/e4dd9a46a986a8c80c41bc6099799e837db3eabb/height=288;version=1;width=512/https%3A%2F%2Fabicky.net%2Fimages%2F20100530%2F20100530130716.png)