スポンサーサイト
正規表現
「¥」は実際は半角ですが分かりやすくするために全角で表記しています。
文字クラス範囲指定
[0-9] 数字
[a-z] 英字(小文字)
[A-Z] 英字(大文字)
[a-zA-Z0-9] 英数字
[1-5] 1~5の範囲にマッチ
[12] 1か2にマッチ
否定文字クラス範囲指定
文字クラス範囲指定
[0-9] 数字
[a-z] 英字(小文字)
[A-Z] 英字(大文字)
[a-zA-Z0-9] 英数字
[1-5] 1~5の範囲にマッチ
[12] 1か2にマッチ
否定文字クラス範囲指定
[^0-9] 数字以外
[^a-zA-Z] 英字以外
[^5R] 5,R以外にマッチ
文字クラス略記
¥d [0-9]
¥s 空白・タブ・改行・復帰・改ページ
¥w [a-zA-Z0-9]
¥D \d以外
¥s \s以外
¥W \w以外
POSIXブラケット
[:alnum:] 英数字
[:alpha:] アルファベット
[:blank:] スペースとタブ
[:cntrl:] 制御文字
[:digit:] 数字
[:graph:] スペース・改行以外の表示可能文字
[:lower:] 小文字
[:print:] [:graph:]+スペース
[:space:] スペース・タブ・開業
[:upper:] 大文字
[:xdigit:] 数字+a-f+A-F(16進数文字)
. 任意の1文字
| 選択
量指定子、範囲指定繰り返し制御
? 0または1個
* 0以上の任意の個数
+ 1以上の任意の個数
{n} n個
{n,} n個以上の任意の個数
{n,m} n個以上m以下の任意の個数
例)
https? http,httpsのいずれかにマッチ
got(ten)? got,gottenのいずれかにマッチ
go*d gd,god,goood等にマッチ
go+d god,good等にマッチ
[ \t]+ スペース、タブの繰り返しにマッチ
(mew-)+mew mew-mew-mewなどにマッチ
a{5} aaaaaにマッチ
A{1,3} A,AA,AAAにマッチ
(GO!){3,} GO!GO!GO等にマッチ
環境によって少し違うがデフォルトで最長一致になっている。
a+
は
aaaaaaaaaa(aが10個)
という文字列の場合
a,aa,aaa,…と10項目マッチすることになるが最長一致の基準で最長の項目
aaaaaaaaaaにまっちすることになる。
最短一致を指定する場合は?をつける。
?? 0または1個
*? 0以上の任意の個数
+? 1以上の任意の個数
{n,}? n個以上の任意の個数
{n,m}? n個以上m以下の任意の個数
位置に対するマッチ
^ 文字列の先頭
$ 文字列の末尾
¥b 単語境界
¥B 単語境界以外
¥< 単語の先頭
¥> 単語の末尾
[^a-zA-Z] 英字以外
[^5R] 5,R以外にマッチ
文字クラス略記
¥d [0-9]
¥s 空白・タブ・改行・復帰・改ページ
¥w [a-zA-Z0-9]
¥D \d以外
¥s \s以外
¥W \w以外
POSIXブラケット
[:alnum:] 英数字
[:alpha:] アルファベット
[:blank:] スペースとタブ
[:cntrl:] 制御文字
[:digit:] 数字
[:graph:] スペース・改行以外の表示可能文字
[:lower:] 小文字
[:print:] [:graph:]+スペース
[:space:] スペース・タブ・開業
[:upper:] 大文字
[:xdigit:] 数字+a-f+A-F(16進数文字)
. 任意の1文字
| 選択
量指定子、範囲指定繰り返し制御
? 0または1個
* 0以上の任意の個数
+ 1以上の任意の個数
{n} n個
{n,} n個以上の任意の個数
{n,m} n個以上m以下の任意の個数
例)
https? http,httpsのいずれかにマッチ
got(ten)? got,gottenのいずれかにマッチ
go*d gd,god,goood等にマッチ
go+d god,good等にマッチ
[ \t]+ スペース、タブの繰り返しにマッチ
(mew-)+mew mew-mew-mewなどにマッチ
a{5} aaaaaにマッチ
A{1,3} A,AA,AAAにマッチ
(GO!){3,} GO!GO!GO等にマッチ
環境によって少し違うがデフォルトで最長一致になっている。
a+
は
aaaaaaaaaa(aが10個)
という文字列の場合
a,aa,aaa,…と10項目マッチすることになるが最長一致の基準で最長の項目
aaaaaaaaaaにまっちすることになる。
最短一致を指定する場合は?をつける。
?? 0または1個
*? 0以上の任意の個数
+? 1以上の任意の個数
{n,}? n個以上の任意の個数
{n,m}? n個以上m以下の任意の個数
位置に対するマッチ
^ 文字列の先頭
$ 文字列の末尾
¥b 単語境界
¥B 単語境界以外
¥< 単語の先頭
¥> 単語の末尾
このエントリーにお寄せ頂いたコメント
このエントリーにお寄せ頂いたトラックバック
このエントリーへのトラックバックURL
http://linuxpro.blog23.fc2.com/tb.php/94-1b16221d
このエントリーにトラックバックする(FC2ブログユーザー)
このエントリーにトラックバックする(FC2ブログユーザー)
