| 名前 | パターン | 一致する箇所 | | --------- | ------------- | ------------ | | [[肯定先読み]] | `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)