モジュールのレッスン (2/4)
クラス内の範囲: `[a-z0-9]`
すべての文字を 1 つずつリストするのは面倒です。クラスは 範囲 を受け入れます
ハイフン -: [a-z] は任意の小文字、[0-9] と一致します。
数字、[A-Z] 大文字。
Pattern: [a-z]+
Sample: Ciao Mondo 123
^^^ ^^^^この範囲では コード ポイント 順序が使用されます (ラテン文字の場合は基本的に ASCII)。
a-z は、「a のコード ポイントから a のコード ポイントまでのすべての文字」を意味します。
z」ということで 26 文字です。
範囲の結合
単一のクラス内で、複数の範囲と個々の文字を混在させることができます。
[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-]。
試してみてください
6 文字のすべての 16 進数シーケンスを検索します (例: カラー コード #1a2b3c)。数字は 0 から 9、文字は a から f (大文字または小文字) です。
ヒントを表示
A ~ F を範囲に追加するか、i フラグを使用します。
3 回の試行後に解決策が利用可能になります
復習演習
3 つの大文字とそれに続く 4 つの数字で構成されるすべての製品コードを検索します (例: ABC1234)。
ヒントを表示
数字には \\d または範囲 [0-9] を使用できます。この演習では明示的に [0-9] を必要とします。
3 回の試行後に解決策が利用可能になります
追加の課題
テキスト内の 16 進文字 (数字 0 ~ 9 と文字 A ~ F、大文字と小文字の両方) を検索します。
ヒントを表示
0 ~ 9、a ~ f、A ~ F の 3 つの範囲を組み合わせます。
3 回の試行後に解決策が利用可能になります