■Windows版Rubyの細道・けもの道

■ナビゲータ

[南北館(最初のメニュー)]

  1. [Windows版Rubyの細道・けもの道]
    1. [1.準備編]
    2. [2.基本編]
      1. [2-1.基本処理]
      2. [2-2.キーブレイク処理]
      3. [2-3.マッチング(照合)処理]
      4. [2-4.ソート(並べ替え)処理]
      5. [2-5.パターンマッチ処理]
        1. [2-5-1.いろいろな正規表現(その1)]
        2. [2-5-2.いろいろな正規表現(その2)]
        3. [2-5-3.いろいろな正規表現(その3)]
    3. [3.応用編]
    4. [スクリプトと入力データのサンプル]
Perlではどう処理する?
同じことをPerlではこうしています。

2.基本編

2-5.パターンマッチ処理

2-5-2.いろいろな正規表現(その2)

ここでは、量指定子を中心にさまざまな正規表現について、具体例を交えながら、解説していきます。

  1. *

  2. 0回以上の繰り返しです。たとえば、/ab*/はa,ab,abb,abbb・・・等を表します。また、/(abc)*/とすると、0回の繰り返しも含めるので、どのような文字列にも一致します。

  3. *?

  4. 最短一致(最も短い範囲で一致した場合)での0回以上の繰り返しです。たとえば、/ab*?/は、a,ab,abb,abbb・・・等を表します。また、/(abc)*?/とすると、0回の繰り返しも含めるので、どのような文字列にも一致します。

  5. +

  6. 1回以上の繰り返しです。たとえば、/ab+/はab,abb,abbb・・・等を表します。また、/c+/とすると、ccccccという文字列の全体にマッチします。

  7. +?

  8. 最短一致(最も短い範囲で一致した場合)での1回以上の繰り返しです。たとえば、/ab*?/は、ab,abb,abbb・・・等を表します。また、/c+?/とすると、ccccccという文字列があっても、最初の文字の"c"にマッチします。

  9. ?

  10. 0回または1回の繰り返しです。たとえば、/ab?/はaまたはabを表します。また、「abcd」という文字列に対し、/abc?/というパターンを適用すると、「abc」にマッチします。

  11. ??

  12. 最短一致(最も短い範囲で一致した場合)での0回または1回の繰り返しです。たとえば、「abcd」という文字列に対し、/abc??/というパターンを適用すると、「ab」だけにマッチします。

  13. {n}

  14. n回の繰り返しです。たとえば、/ab{3}/は、abbbを表します。

  15. {n,m}

  16. n回以上m回以下の繰り返しです。たとえば、/ab{3,5}/は、abbb,abbbb,abbbbbのいずれかを表します。

  17. {n,m}?

  18. 最短一致(最も短い範囲で一致した場合)でのn回以上m回以下の繰り返しです。たとえば、/ab{3,5}?/は、abbb,abbbb,abbbbbのいずれかを表します。

  19. {n,}

  20. n回以上の繰り返しです。たとえば、/ab{3,}/は、abbb,abbbb,abbbbb,abbbbbb・・・等を表します。

    https?      httpまたはhttpsにマッチする
    colou?r     colorまたはcolourにマッチする
    got(ten)?   gotまたはgottenにマッチする

    go*d    gdまたはgod、good、goood・・・などにマッチする。
    go+d    god、good、goood・・・などにマッチする。(gdにはマッチしない)

    [ \t]+  半角スペースやタブに1回以上マッチする。
   



Copyright (c) 2010-2013 Mitsuo Minagawa, All rights reserved.