「正規表現 リファレンス」の版間の差分

提供:Wiki@KDS
ナビゲーションに移動 検索に移動
編集の要約なし
 
編集の要約なし
1行目: 1行目:
----
----
<div id="regexp">
==正規表現==


==正規表現==
「正規表現」とは、さまざまな文字列をメタキャラクタと呼ばれる記号を使って表現するための方法のことをいいます。
 
===■ 正規表現 リファレンスでよく出てくる語句===


[正規表現 リファレンスでよく出てくる語句]<br>
・メタキャラクタ(別名:メタ文字) ⇒ メタキャラクタとは、正規表現における特別な意味を持った記号のこと。<br>
・メタキャラクタ(別名:メタ文字)⇒メタキャラクタとは、正規表現における特別な意味を持った記号のこと。<br>
・マッチ ⇒ ある文字列が、正規表現によって定義される特定のパターンに一致(合致)すること。<br><br>
・マッチ⇒正規表現を使って、文字列を一致させること。


===■使用頻度(高)===
<hr />


===■ メタキャラクタ リファレンス===
<br>
====・任意の一文字に一致====
====・任意の一文字に一致====


<p>メタキャラクタ⇒ . (ドット)</p>
<p>◆メタキャラクタ⇒ . (ドット)</p>
<p class="explanation">[解説] 「.」は、あらゆる文字にマッチするメタキャラクタのこと。「.」1つで1文字を表す。</p>
<div class="example">
<dl>
<dl>
<dt>[解説]</dt>
<dt>[文例] 「光画デジタルサプライ」を正規表現でマッチさせる。</dt>
<dd>「.」とは、どのような文字にでもマッチする正規表現のこと。</dd>
<dd> 文字列(例):光画デジタルサプライ</dd><br>
</dl>
<dd>◎置換前の指定⇒「...........」 (「光........イ」としても可)</dd><br>
<dl>
<dd> ※「光画デジタルサプライ」は10文字なので、「.」を10個並べることでマッチさせることができる。</dd><br>
<dt>[文例]</dt>
<dt>[文例(例外)] 文字の「.」(ドット)自体も正規表現でマッチさせる。</dd>
<dd>「光画デジタルサプライ」を正規表現でマッチさせる。</dd><br>
<dd> 文字列(例):index.html</dd><br>
<dd>文字列(例):光画デジタルサプライ</dd>
<dd>◎置換前の指定⇒「.....\.....」</dd><br>
<dd>↓</dd>
<dd> ※「.」の前に「\」をつけることで「.」自体をマッチすることができる。</dd>
<dd>正規表現⇒「...........」</dd><br>
<dt>[文例(例外)]</dt>
<dd>文字の「.」(ドット)自体も正規表現でマッチさせる。</dd><br>
<dd>文字列(例):index.html</dd>
<dd></dd>
<dd>正規表現⇒「.....\.....」</dd>
<dd>※「.」の前に「\」をつけることで「.」自体をマッチすることができる。</dd>
</dl>
</dl>
</div>


<hr />


====・直前の正規表現と0回以上一致====
====・直前の正規表現と0回以上一致====


<p>メタキャラクター⇒ * (アスタリスク)</p>
<p>◆メタキャラクタ⇒ * (アスタリスク)</p>
<p class="explanation">[解説] 「*」は、「*」の直前に置かれた正規表現を0回以上繰り返すメタキャラクタのこと。</p>
<div class="example">
<dl>
<dl>
<dt>[解説]</dt>
<dt>[文例] 「人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。」を正規表現でマッチさせる。</dt>
<dd>*」は、「*」の直前に置かれた正規表現を0回以上繰り返す正規表現のこと。</dd>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd><br>
<dd>◎置換前の指定⇒「.*」</dd><br>
<dd> ※「*」の前に「.」を付けることによって、不特定の文字列(任意の一文字を0回以上繰り替えす文字列)に一致させることができる。</dd>
</dl>
</dl>
</div>
<hr />
====・直前の正規表現と指定回数一致====
<p>◆メタキャラクタ⇒ { } (中カッコ)</p>
<p class="explanation">[解説] 「 { } 」は、「 { } 」の直前に置かれた正規表現を指定回数繰り返すメタキャラクタのこと。「 { } 」の中には数字(指定回数)が入ります。</p>
<div class="example">
<dl>
<dl>
<dt>[文例]</dt>
<dt>[文例] ある文字列の中で、複数回繰り返されている特定の文字を正規表現を使って一致させる。</dt><br>
<dd>「人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。」を正規表現でマッチさせる。</dd><br>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤタカシマヤ限定のローズピンクが新登場。</dd>
<dd>文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd>
<dd> 特定の文字:タカシマヤタカシマヤ</dd><br>
<dd></dd>
<dd>◎置換前の指定 ⇒ (タカシマヤ){2}</dd>
<dd>正規表現⇒「.*」</dd>
<dd>※「*」の前に「.」を付けることによって、不特定の文字列(任意の一文字を0回以上繰り替えす文字列)に一致させることができる。</dd>
</dl>
</dl>
</div>


<hr />
<hr />
51行目: 65行目:
====・グループ化と一時記憶====
====・グループ化と一時記憶====


<p>メタキャラクター⇒ ( ) (半角カッコ)</p>
<p>◆メタキャラクタ⇒ ( ) (半角カッコ)</p>
<p style="border:1px dashed #666699;padding:5px 10px;background:#e4f6f1">[解説] 「 ( 」と「 ) 」で囲われた部分をグループ化し、グループ化した内容を一時的に記憶させることができる正規表現のこと。</p>
<p class="explanation">[解説] 「 ( 」と「 ) 」で囲われた部分をグループ化し、グループ化した内容を一時的に記憶させることができるメタキャラクタのこと。</p>
<div style="border:1px dashed #666699;padding:5px 10px;background:#F6F5E4;">
<div class="example">
<dl>
<dl>
<dt>[文例] 特定の文字が入っている文字列から、特定の文字を正規表現を使って抜き出す。</dt><br>
<dt>[文例] 文字列から特定の文字を正規表現を使って抜き出す。</dt><br>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd>
<dd> ↓</dd>
<dd> 特定の文字:「タカシマヤ」と「ローズピンク」</dd><br>
<dd> 正規表現⇒「.*(タカシマヤ).*(ローズピンク).*」</dd>
<dd>◎置換前の指定⇒「.*(タカシマヤ).*(ローズピンク).*」</dd>
<dd> 置換後の指定⇒「$1$2」</dd>
<dd>◎置換後の指定⇒「$1$2」</dd>
<dd> 置換後⇒「タカシマヤローズピンク」</dd>
<dd>◎置換結果⇒「タカシマヤローズピンク」</dd><br>
<dd> ※グループ化された内容は、「$1」で表示させることが可能。「( )」の数によって$1、$2、$3...と増えていく。</dd>
<dd> ※グループ化された内容は、「$1」で表示させることが可能。「( )」の数によって$1、$2、$3...と増えていく。</dd>
</dl>
</dl>
</div>
</div>
<hr />


====・文字列の先頭に一致====
====・文字列の先頭に一致====


<p>メタキャラクター⇒ ^ (キャレット)</p>
<p>◆メタキャラクタ⇒ ^ (キャレット)</p>
<p class="explanation">[解説] 文字列の先頭を表すメタキャラクタのこと。</p>
<div class="example">
<dl>
<dt>[文例] 特定の文字から始まる文字列を、正規表現を使って一致させる。</dt><br>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd>
<dd> 特定の文字:人気のラムカン・ダムール</dd><br>
<dd>◎置換前の指定 ⇒ ^人気のラムカン・ダムール.*</dd>
</dl>
</div>
 
<hr />
 
====・任煮の数字に一致====
 
<p>◆メタキャラクタ⇒ \d (エンマーク + 半角小文字d)</p>
<p class="explanation">[解説] 0から9までの任意の数字1文字にマッチするメタキャラクタのこと。</p>
<div class="example">
<dl>
<dl>
<dt>[解説]</dt>
<dt>[文例] ある文字列内にある6桁の数字を正規表現を使って一致させる。</dt><br>
<dd>文字列の先頭を表す正規表現のこと。</dd>
<dd> 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンク(商品番号:232551)が新登場。</dd>
<dd> 特定の文字:232551</dd><br>
<dd>◎置換前の指定 ⇒ \d{6} (「\d\d\d\d\d\d」でも可)</dd>
</dl>
</dl>
</div>
<hr />
====・各種の制御文字に一致====
<p>
◆メタキャラクタ⇒ \r (エンマーク + 半角小文字 r)、 \n (エンマーク + 半角小文字 n)、 \t (エンマーク + 半角小文字 t)<br>
</p>
<p class="explanation">[解説] 「\r」は復帰(CR)、「\n」は改行(LF)、「\t」は水平タブを表す。</p>
<div class="example">
<dl>
<dl>
<dt>[文例]</dt>
<dt>[文例] ある複数の文字列から、水平タブと復帰、改行を取り除く。</dt><br>
<dd>特定の文字から始まる文字列を、正規表現を使って一致させる。</dd><br>
<dd> 文字列(例):【タカシマヤ限定ローズピンク】オーブンに使えて、サラダからデザートまで多彩に活躍します。
<dd>文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。</dd>
<pre style="margin:0;"> 一人前の前菜やサラダ、ソースや薬味、デザートなどの盛り付けにぴったりです。</pre>
<dd></dd>
</dd><br>
<dd>正規表現⇒「^人気のラムカン・ダムール.*」</dd>
<dd>◎置換前の指定 ⇒ \t|\r\n</dd>
</dl>
</dl>
</div>
<hr />
<br>
===■ 目的別逆引き リファレンス===
</div>

2008年8月1日 (金) 15:05時点における版


正規表現

「正規表現」とは、さまざまな文字列をメタキャラクタと呼ばれる記号を使って表現するための方法のことをいいます。

■ 正規表現 リファレンスでよく出てくる語句

・メタキャラクタ(別名:メタ文字) ⇒ メタキャラクタとは、正規表現における特別な意味を持った記号のこと。
・マッチ ⇒ ある文字列が、正規表現によって定義される特定のパターンに一致(合致)すること。


■ メタキャラクタ リファレンス


・任意の一文字に一致

◆メタキャラクタ⇒ . (ドット)

[解説] 「.」は、あらゆる文字にマッチするメタキャラクタのこと。「.」1つで1文字を表す。

[文例] 「光画デジタルサプライ」を正規表現でマッチさせる。
 文字列(例):光画デジタルサプライ

◎置換前の指定⇒「...........」 (「光........イ」としても可)

 ※「光画デジタルサプライ」は10文字なので、「.」を10個並べることでマッチさせることができる。

[文例(例外)] 文字の「.」(ドット)自体も正規表現でマッチさせる。
 文字列(例):index.html

◎置換前の指定⇒「.....\.....」

 ※「.」の前に「\」をつけることで「.」自体をマッチすることができる。

・直前の正規表現と0回以上一致

◆メタキャラクタ⇒ * (アスタリスク)

[解説] 「*」は、「*」の直前に置かれた正規表現を0回以上繰り返すメタキャラクタのこと。

[文例] 「人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。」を正規表現でマッチさせる。
 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。

◎置換前の指定⇒「.*」

 ※「*」の前に「.」を付けることによって、不特定の文字列(任意の一文字を0回以上繰り替えす文字列)に一致させることができる。

・直前の正規表現と指定回数一致

◆メタキャラクタ⇒ { } (中カッコ)

[解説] 「 { } 」は、「 { } 」の直前に置かれた正規表現を指定回数繰り返すメタキャラクタのこと。「 { } 」の中には数字(指定回数)が入ります。

[文例] ある文字列の中で、複数回繰り返されている特定の文字を正規表現を使って一致させる。

 文字列(例):人気のラムカン・ダムールにタカシマヤタカシマヤ限定のローズピンクが新登場。
 特定の文字:タカシマヤタカシマヤ

◎置換前の指定 ⇒ (タカシマヤ){2}

・グループ化と一時記憶

◆メタキャラクタ⇒ ( ) (半角カッコ)

[解説] 「 ( 」と「 ) 」で囲われた部分をグループ化し、グループ化した内容を一時的に記憶させることができるメタキャラクタのこと。

[文例] 文字列から特定の文字を正規表現を使って抜き出す。

 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。
 特定の文字:「タカシマヤ」と「ローズピンク」

◎置換前の指定⇒「.*(タカシマヤ).*(ローズピンク).*」
◎置換後の指定⇒「$1$2」
◎置換結果⇒「タカシマヤローズピンク」

 ※グループ化された内容は、「$1」で表示させることが可能。「( )」の数によって$1、$2、$3...と増えていく。

・文字列の先頭に一致

◆メタキャラクタ⇒ ^ (キャレット)

[解説] 文字列の先頭を表すメタキャラクタのこと。

[文例] 特定の文字から始まる文字列を、正規表現を使って一致させる。

 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンクが新登場。
 特定の文字:人気のラムカン・ダムール

◎置換前の指定 ⇒ ^人気のラムカン・ダムール.*

・任煮の数字に一致

◆メタキャラクタ⇒ \d (エンマーク + 半角小文字d)

[解説] 0から9までの任意の数字1文字にマッチするメタキャラクタのこと。

[文例] ある文字列内にある6桁の数字を正規表現を使って一致させる。

 文字列(例):人気のラムカン・ダムールにタカシマヤ限定のローズピンク(商品番号:232551)が新登場。
 特定の文字:232551

◎置換前の指定 ⇒ \d{6} (「\d\d\d\d\d\d」でも可)

・各種の制御文字に一致

◆メタキャラクタ⇒ \r (エンマーク + 半角小文字 r)、 \n (エンマーク + 半角小文字 n)、 \t (エンマーク + 半角小文字 t)

[解説] 「\r」は復帰(CR)、「\n」は改行(LF)、「\t」は水平タブを表す。

[文例] ある複数の文字列から、水平タブと復帰、改行を取り除く。

 文字列(例):【タカシマヤ限定ローズピンク】オーブンに使えて、サラダからデザートまで多彩に活躍します。
		一人前の前菜やサラダ、ソースや薬味、デザートなどの盛り付けにぴったりです。

◎置換前の指定 ⇒ \t|\r\n







■ 目的別逆引き リファレンス