| 名前 | パターン | 一致する箇所 |
| --------- | ------------- | ------------ |
| [[肯定先読み]] | `foo(?=bar)` | 直後にbarがあるfoo |
| [[否定先読み]] | `foo(?!bar)` | 直後にbarがないfoo |
| [[肯定後読み]] | `(?<=bar)foo` | 直前にbarがあるfoo |
| [[否定後読み]] | `(?<!bar)foo` | 直前にbarがないfoo |
## 覚え方
- `(?中身)`
- 中身について
- 後読みの場合は先頭に`<`が付く
- `=`(肯定) or `!`(否定)
## 参考
- [正規表現の先読み・後読みを極める! \- あらびき日記](https://abicky.net/2010/05/30/135112/)
- [先読みと後読み\(Lookahead/lookbehind\)](https://ja.javascript.info/regexp-lookahead-lookbehind)