* 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.
Front page
List of pages
Search
Recent changes
リンク
Help
New
リンク
手動リンク
自動相互リンク
駄でべWiki:FrontPage
Help
整形ルール
プラグインマニュアル
浮子屋商店もよろしく。
create a new page, using
正規表現講座/9
as a template.
Start:
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
End:
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
Page: