#contents *正規表現とは [#q70426b3] 文字列のパターンを一つの形式で表現する表記法。主に文字列の検索・置換を行なうときに利用される。 *参考リンク [#r3ef2211] :[[Regular Expression(Riue ちゃんの正規表現講座)>http://www.sixnine.net/regexp/index.html]]| 読み物調で分り易い。初心者におすすめ。 :[[正規表現メモ>http://www.kt.rim.or.jp/~kbk/regex/regex.html]]| grep,egrep,sed,awk,perl,python,ruby,gawk,Tcl,PCRE,PHP,.NET Framework,Java,POSIXの各ツールで使える演算子辞典。 :[[正規表現最新リンク集>http://www2.famille.ne.jp/~akio1998/l_grep.html]]| 関連リンク集。 :[[PHPパターン構文>http://jp.php.net/manual/ja/pcre.pattern.syntax.php]]| PHPで使える正規表現。 *文法 [#m693c9ec] 以下は、Perl/PHPでの表現。 **基本 [#b3eb349c] |~正規表現|~意味|h |A|文字A| |ABC|文字列ABC| |.|任意の1文字| |A*|0文字以上のA| |A?|0文字または1文字のA| |A+|1文字以上のA| |^A|Aで始まる文字列| |A$|Aで終わる文字列| |[ABC]|A、B、Cのいずれか1文字| |[A-C]|A~Cまでのいずれか1文字| |[^ABC]|A、B、Cのいずれでもない任意の1文字| |ABC|DEF|GHI|ABCまたはDEFまたはGHI| |A{2}|2個のA(AA)| |A{2|}|2個以上のA(AA、AAA、AAAA、...)| |A{2|3}|2個~3個のA(AA、AAA)| **メタキャラクタ [#n45b271d] 「\」+ 文字(列)は特殊な意味を持つ。 ***特殊文字の表現 [#ve5a038e] |~表記|~意味|h |\a|アラーム、ベル文字 (16進 07)| |\cx|"control-x" ただし x はあらゆる文字| |\e|エスケープ (16進 1B)| |\f|改ページ (16進 0C)| |\n|改行 (16進 0A)| |\r|復帰 (16進 0D) | |\t|タブ (16進 09)| |\xhh|16進数で hh の文字| |\ddd|8進数で ddd の文字または後方参照| |[\b]|バックスペース (文字クラスの中でのみ有効)| ***文字型の表現 [#f25d3738] |~表記|~意味|h |\d|10進数字| |\D|10進数字でない全ての文字| |\s|空白文字| |\S|空白文字以外の文字 | |\w|単語構成文字 | |\W|単語構成文字以外| ***言明 [#s3d17b0c] 検索時の拘束条件を指定する。(文字クラス外のみ) |~表記|~意味|h |\b|単語の境界 | |\B|単語の境界でない | |\A|検索対象の始まり (複数行モードとは独立) | |\Z|検索対象の終わりまたは終端の改行 (複数行モードとは独立) | |\z|検索対象の終わり (複数行モードとは独立)| **クラス [#ib90ad03] |~クラス名|~意味|h |[:alnum:]|アルファベットと数字| |[:alpha:]|アルファベット| |[:lower:]|アルファベットの小文字| |[:upper:]|アルファベットの大文字| |[:digit:]|10進数字| |[:xdigit:]|16進数字| |[:blank:]|空白文字(スペース、タブ等)| |[:space:]|スペース、タブ、改ページ| |[:punct:]|句読点| |[:cntrl:]|制御文字| |[:graph:]|印字可能かつ表示可能な文字(スペースは含まれない)| |[:print:]|印字可能なキャラクタ(=制御文字以外)| ~ RIGHT:カテゴリ : [[Program>:Category/Program]]
AND OR