正規表現メモ
忘れがちなのでまとめておく。
基本的な部分はどこのサイトにでも載っているので割愛。
- 後方参照 $n,\n
グループ化した部分文字列を後で利用- パターン内で
/(A)b\1/ → AbAにマッチ - 置換文字列内で
/(A)b\1/, $1 → Aとなる
- パターン内で
- 非格納グループ化 (?:…)
内部でキャッシュされない - 後読み (?<…), (!<…)
/(?/(! - 先読み (?=…), (?!…)
/hoge(?=fuga)/ → fugaが後に続くhogeにマッチ
/hoge(?!fuga)/ → fugaが後に続かないhogeにマッチ
パターン | 意味 |
---|---|
(?=XXX) | ゼロ幅肯定先読み表現。パターンの後にXXXがある場合にマッチ |
(?!XXX) | ゼロ幅否定先読み表現。パターンの後にXXXが無い場合にマッチ |
(? | ゼロ幅肯定後読み表現。パターンの前にXXXがある場合にマッチ |
(! | ゼロ幅否定後読み表現。パターンの前にXXXが無い場合にマッチ |
正規表現 エンジン・ライブラリ
名前 | コメント |
---|---|
K2Regexp | K2Editor |
Irregexp | Google Chrome |
PCRE(Perl Compatible Regular Expression) | Webkit, PHP |
JPCRE | Webkit? |
RE2 | |
鬼車(Oniguruma) | 小迫氏作, Ruby |
Carakan | Opera |
Futhark | Opera |
jre.dll | 山田和夫氏作, 秀丸エディタ, EmEditor |
hmjre.dll | 秀まるお作, 秀丸エディタ |
Bregexp | SakuraEditor |
WREC(the Webkit Regular Expression Compiler) | SquirrerlFish Extreme |
参考URL忘れた…
後日書く。