* 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
ヘルプ
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
正規表現講座/9
をテンプレートにして作成
開始行:
TITLE:間違いだらけの正規表現講座 level 9
#contentsx
* 細かいあれこれ [#y4c58161]
さて、大詰め、第9回です。~
今回は、今までの講座の中で説明しなかった細かい部分を、ざ...
今までの講座で基本は分かっていると思いますので、
追加でこういう表現もあるんだな、程度に思っておけば良いと...
なお、今回の講座で出てくるメタ文字は、今までの講座以上に...
処理系に依存する可能性が高いため、使いたい時は、その処理...
見ておいた方が無難です。
* 文字クラスの略記 [#p39eb699]
数字1文字を表すには、
[0-9]
と書けば良いのでしたが、いっぱい数字を使う場合面倒ですね。
変わりに、
\d
という略記が使える場合が多いです。「\d」と書けば、「[0-9]...
同じ、という意味です。~
以下のような略記が使える場合が多いです。
|\d|数字1文字、[0-9]と同じ意味|
|\s|空白文字、半角の空白やタブや改行など、目に見えない文...
|\S|非空白文字、目に見える文字|
|\w|単語を構成する文字、多くの処理系で [a-zA-Z0-9_] と同...
|\W|単語を構成しない文字、多くの処理系で[^a-zA-Z0-9_] と...
* n回マッチ [#gf367049]
「*」は0回以上の繰り返し、「+」は1回以上の繰り返し、で...
では、3回の繰り返し、を表すにはどうすれば良いでしょうか。~
同じ正規表現を3回書けばよいのですが、面倒ですね。
そのために、n回の繰り返し、といった表現があります。
{n} ちょうどn回の繰り返し
{n,} 少なくともn回の繰り返し
{n,m} n回以上、m回以下の繰り返し
これを使うと、例えばケータイの電話番号などは、次のように...
\d{3}-\d{4}-\d{4}
* この中のどれか [#kca86171]
こんにちは、あかちゃん
こにゃちは、あおちゃん
こにゃにゃちは、きいろちゃん
こにゃにゃにゃちは、みどりちゃん
さようなら、くろちゃん
この文字列から、挨拶っぽい部分、つまり、「こんにちは」「...
「こにゃにゃちは」、のような部分を抜き出したいとします。
「こんにちは」にも「さようなら」にもマッチする正規表現は、
ちょっと思いつかないですよね。
そのような場合に、「この中のどれか」を表す記号があります。
| |で区切った中のどれか
この場合、
こんにちは|さようなら|こ(にゃ)+ちは
と書けば、挨拶の部分にマッチします。
ただし、他の正規表現に混ざって使う場合、|の区切りがどこま...
明示するため、
(こんにちは|さようなら|こ(にゃ)+ちは)
このようにカッコで囲んで置いたほうがよいです。~
このカッコは、「まとめて一つ」のカッコと同じですから、グ...
キャプチャの意味も併せ持つことに注意してください。
* キャプチャしない! [#a6b09a4c]
さて、カッコにはグループ化とキャプチャの意味がありますが、
置換表現で「$1」などを使う場合、カッコを沢山使うと、何番...
カッコなのかが良く分からなくなり、面倒な場合があります。
たとえばさっきの例文で、色を表す語句の部分、「あか」や「...
抜き出したいとします。
正規表現を次のように書くと:
(こんにちは|さようなら|こ(にゃ)+ちは)、(.*)ちゃん
色の部分のカッコが出てくるのは3番目なので、置換表現に使...
$3
となりますが、数えるのは面倒です。
このような場合のため、「グループ化するけどキャプチャしな...
(?:) グループ化するけどキャプチャしない
先ほどの表現を書き直すと、
正規表現:(?:こんにちは|さようなら|こ(?:にゃ)+ちは)、(.*...
置換表現:$1
となり、必要な部分だけをキャプチャすることができます。
* ちょっと脱線 [#ze2e73b8]
今回紹介した以外にも、処理系によって色々な表現があります。~
が、それらの表現は滅多に使わないと思います。~
一応、普段使う可能性のあるのは網羅したつもりですが、「こ...
* ご指摘などはこちらへ [#p41dba33]
#comment
終了行:
TITLE:間違いだらけの正規表現講座 level 9
#contentsx
* 細かいあれこれ [#y4c58161]
さて、大詰め、第9回です。~
今回は、今までの講座の中で説明しなかった細かい部分を、ざ...
今までの講座で基本は分かっていると思いますので、
追加でこういう表現もあるんだな、程度に思っておけば良いと...
なお、今回の講座で出てくるメタ文字は、今までの講座以上に...
処理系に依存する可能性が高いため、使いたい時は、その処理...
見ておいた方が無難です。
* 文字クラスの略記 [#p39eb699]
数字1文字を表すには、
[0-9]
と書けば良いのでしたが、いっぱい数字を使う場合面倒ですね。
変わりに、
\d
という略記が使える場合が多いです。「\d」と書けば、「[0-9]...
同じ、という意味です。~
以下のような略記が使える場合が多いです。
|\d|数字1文字、[0-9]と同じ意味|
|\s|空白文字、半角の空白やタブや改行など、目に見えない文...
|\S|非空白文字、目に見える文字|
|\w|単語を構成する文字、多くの処理系で [a-zA-Z0-9_] と同...
|\W|単語を構成しない文字、多くの処理系で[^a-zA-Z0-9_] と...
* n回マッチ [#gf367049]
「*」は0回以上の繰り返し、「+」は1回以上の繰り返し、で...
では、3回の繰り返し、を表すにはどうすれば良いでしょうか。~
同じ正規表現を3回書けばよいのですが、面倒ですね。
そのために、n回の繰り返し、といった表現があります。
{n} ちょうどn回の繰り返し
{n,} 少なくともn回の繰り返し
{n,m} n回以上、m回以下の繰り返し
これを使うと、例えばケータイの電話番号などは、次のように...
\d{3}-\d{4}-\d{4}
* この中のどれか [#kca86171]
こんにちは、あかちゃん
こにゃちは、あおちゃん
こにゃにゃちは、きいろちゃん
こにゃにゃにゃちは、みどりちゃん
さようなら、くろちゃん
この文字列から、挨拶っぽい部分、つまり、「こんにちは」「...
「こにゃにゃちは」、のような部分を抜き出したいとします。
「こんにちは」にも「さようなら」にもマッチする正規表現は、
ちょっと思いつかないですよね。
そのような場合に、「この中のどれか」を表す記号があります。
| |で区切った中のどれか
この場合、
こんにちは|さようなら|こ(にゃ)+ちは
と書けば、挨拶の部分にマッチします。
ただし、他の正規表現に混ざって使う場合、|の区切りがどこま...
明示するため、
(こんにちは|さようなら|こ(にゃ)+ちは)
このようにカッコで囲んで置いたほうがよいです。~
このカッコは、「まとめて一つ」のカッコと同じですから、グ...
キャプチャの意味も併せ持つことに注意してください。
* キャプチャしない! [#a6b09a4c]
さて、カッコにはグループ化とキャプチャの意味がありますが、
置換表現で「$1」などを使う場合、カッコを沢山使うと、何番...
カッコなのかが良く分からなくなり、面倒な場合があります。
たとえばさっきの例文で、色を表す語句の部分、「あか」や「...
抜き出したいとします。
正規表現を次のように書くと:
(こんにちは|さようなら|こ(にゃ)+ちは)、(.*)ちゃん
色の部分のカッコが出てくるのは3番目なので、置換表現に使...
$3
となりますが、数えるのは面倒です。
このような場合のため、「グループ化するけどキャプチャしな...
(?:) グループ化するけどキャプチャしない
先ほどの表現を書き直すと、
正規表現:(?:こんにちは|さようなら|こ(?:にゃ)+ちは)、(.*...
置換表現:$1
となり、必要な部分だけをキャプチャすることができます。
* ちょっと脱線 [#ze2e73b8]
今回紹介した以外にも、処理系によって色々な表現があります。~
が、それらの表現は滅多に使わないと思います。~
一応、普段使う可能性のあるのは網羅したつもりですが、「こ...
* ご指摘などはこちらへ [#p41dba33]
#comment
ページ名: