メインコンテンツにスキップ
モジュール 5 · レッスン 2 / 4コース内の 18/32~8 min
モジュールのレッスン (2/4)

クラス内の範囲: `[a-z0-9]`

すべての文字を 1 つずつリストするのは面倒です。クラスは 範囲 を受け入れます ハイフン -: [a-z] は任意の小文字、[0-9] と一致します。 数字、[A-Z] 大文字。

Code
Pattern: [a-z]+
Sample:  Ciao Mondo 123
          ^^^  ^^^^

この範囲では コード ポイント 順序が使用されます (ラテン文字の場合は基本的に ASCII)。 a-z は、「a のコード ポイントから a のコード ポイントまでのすべての文字」を意味します。 z」ということで 26 文字です。

範囲の結合

単一のクラス内で、複数の範囲と個々の文字を混在させることができます。

Code
[a-zA-Z0-9_]   identical to \\w (in ASCII)
[a-fA-F0-9]    hexadecimal digits
[0-9.]         digits or the dot (for decimal numbers)

順序は関係ありません。[0-9a-z] と [a-z0-9] は同じです。

範囲と ASCII 文字順序

[a-z] のような範囲は、ASCII テーブルの文字順序に厳密に従います。 [z-a] などの無効な範囲を書き込むと、正規表現コンパイル エラーが発生します。リテラルのダッシュを先頭または末尾に配置する必要があります: [a-z-]。

試してみてください

運動#regex.m5.l2.e1
試行回数: 0読み込み中…

6 文字のすべての 16 進数シーケンスを検索します (例: カラー コード #1a2b3c)。数字は 0 から 9、文字は a から f (大文字または小文字) です。

エディターを読み込み中…
ヒントを表示

A ~ F を範囲に追加するか、i フラグを使用します。

3 回の試行後に解決策が利用可能になります

復習演習

運動#regex.m5.l2.e2
試行回数: 0読み込み中…

3 つの大文字とそれに続く 4 つの数字で構成されるすべての製品コードを検索します (例: ABC1234)。

エディターを読み込み中…
ヒントを表示

数字には \\d または範囲 [0-9] を使用できます。この演習では明示的に [0-9] を必要とします。

3 回の試行後に解決策が利用可能になります

追加の課題

運動#regex.m5.l2.e3
試行回数: 0読み込み中…

テキスト内の 16 進文字 (数字 0 ~ 9 と文字 A ~ F、大文字と小文字の両方) を検索します。

エディターを読み込み中…
ヒントを表示

0 ~ 9、a ~ f、A ~ F の 3 つの範囲を組み合わせます。

3 回の試行後に解決策が利用可能になります