繰り返し制御文字Flash Player 9 以降、Adobe AIR 1.0 以降 繰り返し制御文字は、パターンの中で文字またはシーケンスの繰り返しを指定するために使用します。次に例を示します。
次のように、繰り返し制御文字は単一の文字に適用することも、グループに適用することもできます。
繰り返し制御文字をグループ化括弧内で使用すると、グループに繰り返し制御を適用できます。 例えば、次の繰り返し制御文字は、word というストリングにも、word-word-word というストリングにも一致します。 /\w+(-\w+)*/ デフォルトでは、正規表現は「最長一致」の検索ロジックを使用します。すなわち、正規表現に含まれる各サブパターン(.* など)について、ストリング内で可能な限り多くの文字に一致する方法を探し、それから正規表現内の次の部分に処理を移します。例えば、次のような正規表現とストリングがあるとします。 var pattern:RegExp = /<p>.*<\/p>/; str:String = "<p>Paragraph 1</p> <p>Paragraph 2</p>"; この正規表現はストリング全体に一致します。 <p>Paragraph 1</p> <p>Paragraph 2</p> しかし、場合によっては、1 組の <p>... </p> グループのみに一致させることが本来の目的であることもあります。その場合は次のようにします。 <p>Paragraph 1</p> 任意の繰り返し制御文字の直後に疑問符(?)を付けると、その繰り返し制御文字は、「最短一致」の検索ロジックを使用するように動作が変更されます。例えば、次の正規表現では、*? という最短一致の繰り返し制御を使用しています。これは、<p> と最小限の文字の後に </p> が続くストリングに一致します。 /<p>.*?<\/p>/ 繰り返し制御文字については、次の点に注意してください。
詳しくは、フラグとプロパティを参照してください。 |
![]() |