PCRE
公式サイト:
PCRE – Perl Compatible Regular Expressions [Official]
メタ文字
\: エスケープ文字^: 検索対象の先頭/複数行モードでは行頭$: 検索対象の終端/複数行モードでは行末.: 任意の一文字 (改行を除く)[]: 文字クラス|: 選択肢(): サブパターンを定義する?: 0 または 1 回の合致*: 0 回以上の繰り返し+: 1 回以上の繰り返し{n,m}: n 回以上 m 回以下の繰り返し
参考:
Characters and Metacharacters | PCRE2 Pattern Specification [Official]
略記法
\d: 数字[0-9]\D: 数字以外[^0-9]\h: 水平スペース[ \t\xa0]\H: 水平スペース以外\s: スペース[ \t\r\n\v\xa0\x85]\S: スペース以外\v: 垂直スペース[\r\n\v\x85]\V: 垂直スペース以外\w: 単語を構成する文字[_0-9A-Za-z]\W: 単語を構成する文字以外[^_0-9A-Za-z]
参考:
よく使用される文字クラスの略記 | Let’s プログラミング
Generic Character Types | PCRE2 Pattern Specification [Official]
Whitespace Macros – pcre2_internal.h at pcre2-10.39 · PhilipHazel/pcre2 – GitHub
PT_WORD – pcre2_internal.h at pcre2-10.39 · PhilipHazel/pcre2 – GitHub
オプション/モード指定
i: 大文字小文字を区別しないm: 改行を含む複数行に対してマッチを実行するx: 空白は無視されてコメントを記入できるモード (コメントモード/フリーフォーマットモード)
参考:
Internal Option Setting | PCRE2 Pattern Specification [Official]
バックトラック
参考:
What does “?>” mean in a PCRE regex? – Stack Overflow
Unicode
参考:
Unicode.tables/PropList.txt – PhilipHazel/pcre2 – GitHub
ドキュメント
perlre – Perl Regular Expressions | Perldoc Browser [Official]
PCRE2
公式サイト:
PCRE2 Specification | PCRE [Official]
ドキュメント:
pcre2pattern specification | PCRE [Official]
man
ドキュメント:
空白文字
参考:
Whitespace Sacros – pcre2_internal.h at php-8.0.11 · php/php-src – GitHub
RegEx for Horizontal Whitespace (\s \h blank etc) – Keyboard Maestro Discourse
まとめ
PCRE Regular Expression Syntax Summary | Dyalog APL Help
リポジトリ
PhilipHazel/pcre2: PCRE2 Development is Now Based Here – GitHub