最終更新:2014-03-26 (水) 00:25:19 (3678d)  

正規表現
Top / 正規表現

/正規表現/

数学的な正規表現は、NFA?DFA?と呼ばれるオートマトンと等価である

メタ文字

\   直後の特殊文字をエスケープ(通常の文字にする) 
^   行の先頭 
$   行の末尾 
.   任意の1文字にマッチ(改行以外) 
|   パターンの論理和 
()  パターンをグループ化 
[]  文字クラス

量指定子

*      0 回以上のパターンの繰り返し 
+      1 回以上のパターンの繰り返し 
?      0 または 1 回のパターン 
{n}    n 回のパターンの繰り返し 
{n,}   n 回以上のパターンの繰り返し 
{n,m}  n 回以上 m 回以下のパターンの繰り返し

エスケープシーケンス

\t   タブ 
\n   改行 
\r   キャリッジリターン 
\0?? 制御コード 8進数 
\x?? 制御コード 16進数

定義済み文字クラス

\d 数字 [0-9] 
\D 数字以外 [^0-9] 
\w 英数字の単語 [_a-zA-Z0-9] 
\W 英数字の単語以外 [^_a-zA-Z0-9] 
\s 空白 [ \t\n\r] 
\S 空白以外 [^ \t\n\r] 
\b 単語境界 \w と \W の間 
\B 単語境界以外

最後

  • /g - 繰り返してマッチ
  • /i
  • /m
  • /o
  • /s
  • /x

スライド

正規表現入門 星の高さを求めて from Ryoma Sin'ya

参考

JavaScript