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