* U K I Y A H O N P O *
Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura,
che la diritta via era smarrita.
ホーム
一覧
検索
最終更新
リンク
ヘルプ
新規
リンク
手動リンク
自動相互リンク
駄でべWiki:FrontPage
ヘルプ
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
正規表現講座/5
をテンプレートにして作成
開始行:
TITLE:間違いだらけの正規表現講座 level 5
#contentsx
* メタスケープ! [#ebcc5c46]
さて、講座も多分折り返しくらいでしょうか、第5回です。~
今回は、「メタ文字」「エスケープ」「改行の扱い」について...
なお、今回本文中に「\」という文字がいっぱい出てきます。~
バックスラッシュに見えている環境が多いと思いますが、
これは日本語環境での、半角の「¥」記号と同じです。
* メタ文字 [#v0bb85b0]
今まで、正規表現特有の記号について覚えてきました。~
たとえば、「*」、「+」、「()」などです。~
これらはそれぞれ特別な意味を持っていました。
このような、「正規表現で特別な意味をもつ記号」のことを、...
メタ文字には、今まで紹介したものの他に、次のようなものも...
|\t|タブ記号1文字をあらわす。|
|\n|改行記号1文字をあらわす。0A(文字コード、16進数で...
|\r|改行記号1文字をあらわす。0D(文字コード、16進数で...
|\xnn|文字コードが16進数でnnの1文字をあらわす。|
タブ記号の説明は要りませんね。~
例えば
ほげ\t+へも
と書くと、~
「『ほげ』があってその直後にタブが1つ以上あって、その後...
という正規表現になるわけです。
改行記号は説明が必要かもしれません。~
OSによって改行を表す文字コードが異なるため、このように二...
-Windowsでは文字コード 0D 0A の2文字で1つの改行を表しま...
-UNIXでは文字コード 0A の1文字で1つの改行を表します。
-Macでは文字コード 0D の1文字で1つの改行を表します。
そして、\rと\nがそれぞれ 0D と 0A のどちら(或いは両方)...
正規表現をつかうツールによって異なります。~
ほとんどの場合、Windowsでは、\r\n もしくは \n で改行を表...
* エスケープ [#rd1b1439]
さて、正規表現には色々なメタ文字が用意されていますが、そ...
どのようにすれば良いでしょうか。
例えば、「()で囲まれた数字を探す」とき、どのような正規表...
([0-9]+)
と書いてしまうと、「()」が第4回で学んだ「まとめて1つ」...
そのような時に必要なのが、「エスケープ」です。~
「エスケープ」は、「メタ文字を普通の文字とする」意味があ...
ほとんどの正規表現ツールでは、メタ文字の前に「\」をつける...
「エスケープ」することができます。
例えば、さっきの例では、
\([0-9]+\)
と書けば望むものが検索できるわけです。~
「\」自身を検索したいときは、「\\」と書きます。~
「\t」という文字列そのもの(タブ記号じゃないですよ)を検...
「\\t」と書くわけです。
ちなみにこれが、複雑な正規表現が「\」まみれになる理由だっ...
* 改行の扱い [#a5ecbe08]
正規表現を扱うツールには、「シングルラインモード」のON/OF...
場合があります。
これ、何が変わるかというと、主に「.」の扱いが変わるのです...
-シングルラインモードONでは、「.」は改行コード(\rや\n)...
-シングルラインモードOFFでは、「.」は改行コードにマッチし...
エディタ等ではほとんどの場合、シングルラインモードはOFFだ...
改行を超えて文字列を検索したい場合など、シングルラインモ...
便利な場合もあります。
たとえば、HTMLの中の <a href="~">○○</a> という部分を探し...
シングルラインモードOFFで、普通に「<a href=".*">.*</a>」...
<a href="mononoke.html">
もののけ
</a>
は、「もののけ」の前後に、改行文字=「.」に当てはまらない...
マッチしません。そのような時に「シングルラインモードON」...
「シングルラインモード」の呼び名はツールによって異なるの...
*ちょっと脱線 [#kc87374a]
0Dのことをキャリッジリターン(CR)、0Aのことをラインフィ...
と呼んだりします。
これ、いにしえのタイプライタ時代の「改行」の動作、
-文字を打つヘッダ(キャリッジ)を左に戻す=キャリッジリタ...
-紙を1行分下に送る=ラインフィード
から来ているらしいですが、キーボード配列のQWERTYなど、
コンピュータって、変なところで昔の慣習を引きずっているも...
* ご指摘などはこちらへ [#da83ba4f]
#comment
終了行:
TITLE:間違いだらけの正規表現講座 level 5
#contentsx
* メタスケープ! [#ebcc5c46]
さて、講座も多分折り返しくらいでしょうか、第5回です。~
今回は、「メタ文字」「エスケープ」「改行の扱い」について...
なお、今回本文中に「\」という文字がいっぱい出てきます。~
バックスラッシュに見えている環境が多いと思いますが、
これは日本語環境での、半角の「¥」記号と同じです。
* メタ文字 [#v0bb85b0]
今まで、正規表現特有の記号について覚えてきました。~
たとえば、「*」、「+」、「()」などです。~
これらはそれぞれ特別な意味を持っていました。
このような、「正規表現で特別な意味をもつ記号」のことを、...
メタ文字には、今まで紹介したものの他に、次のようなものも...
|\t|タブ記号1文字をあらわす。|
|\n|改行記号1文字をあらわす。0A(文字コード、16進数で...
|\r|改行記号1文字をあらわす。0D(文字コード、16進数で...
|\xnn|文字コードが16進数でnnの1文字をあらわす。|
タブ記号の説明は要りませんね。~
例えば
ほげ\t+へも
と書くと、~
「『ほげ』があってその直後にタブが1つ以上あって、その後...
という正規表現になるわけです。
改行記号は説明が必要かもしれません。~
OSによって改行を表す文字コードが異なるため、このように二...
-Windowsでは文字コード 0D 0A の2文字で1つの改行を表しま...
-UNIXでは文字コード 0A の1文字で1つの改行を表します。
-Macでは文字コード 0D の1文字で1つの改行を表します。
そして、\rと\nがそれぞれ 0D と 0A のどちら(或いは両方)...
正規表現をつかうツールによって異なります。~
ほとんどの場合、Windowsでは、\r\n もしくは \n で改行を表...
* エスケープ [#rd1b1439]
さて、正規表現には色々なメタ文字が用意されていますが、そ...
どのようにすれば良いでしょうか。
例えば、「()で囲まれた数字を探す」とき、どのような正規表...
([0-9]+)
と書いてしまうと、「()」が第4回で学んだ「まとめて1つ」...
そのような時に必要なのが、「エスケープ」です。~
「エスケープ」は、「メタ文字を普通の文字とする」意味があ...
ほとんどの正規表現ツールでは、メタ文字の前に「\」をつける...
「エスケープ」することができます。
例えば、さっきの例では、
\([0-9]+\)
と書けば望むものが検索できるわけです。~
「\」自身を検索したいときは、「\\」と書きます。~
「\t」という文字列そのもの(タブ記号じゃないですよ)を検...
「\\t」と書くわけです。
ちなみにこれが、複雑な正規表現が「\」まみれになる理由だっ...
* 改行の扱い [#a5ecbe08]
正規表現を扱うツールには、「シングルラインモード」のON/OF...
場合があります。
これ、何が変わるかというと、主に「.」の扱いが変わるのです...
-シングルラインモードONでは、「.」は改行コード(\rや\n)...
-シングルラインモードOFFでは、「.」は改行コードにマッチし...
エディタ等ではほとんどの場合、シングルラインモードはOFFだ...
改行を超えて文字列を検索したい場合など、シングルラインモ...
便利な場合もあります。
たとえば、HTMLの中の <a href="~">○○</a> という部分を探し...
シングルラインモードOFFで、普通に「<a href=".*">.*</a>」...
<a href="mononoke.html">
もののけ
</a>
は、「もののけ」の前後に、改行文字=「.」に当てはまらない...
マッチしません。そのような時に「シングルラインモードON」...
「シングルラインモード」の呼び名はツールによって異なるの...
*ちょっと脱線 [#kc87374a]
0Dのことをキャリッジリターン(CR)、0Aのことをラインフィ...
と呼んだりします。
これ、いにしえのタイプライタ時代の「改行」の動作、
-文字を打つヘッダ(キャリッジ)を左に戻す=キャリッジリタ...
-紙を1行分下に送る=ラインフィード
から来ているらしいですが、キーボード配列のQWERTYなど、
コンピュータって、変なところで昔の慣習を引きずっているも...
* ご指摘などはこちらへ [#da83ba4f]
#comment
ページ名: