الانتقال إلى المحتوى الرئيسي
eLearner.app
الوحدة 5 · الدرس 2 من 418/32 في الدورة~8 min
دروس الوحدة (2/4)

النطاقات داخل الفئات: `[a-z0-9]`

Listing every character one by one is tedious. Classes accept ranges with the hyphen -: [a-z] matches any lowercase letter, [0-9] a digit, [A-Z] an uppercase letter.

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

The range uses code point order (essentially ASCII for Latin characters): a-z means "every character from the code point of a to the code point of z", so 26 letters.

Combining ranges

Inside a single class you can mix multiple ranges and individual characters:

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)

Order does not matter: [0-9a-z] and [a-z0-9] are identical.

Ranges and ASCII character order

Ranges like [a-z] strictly follow the character order in the ASCII table. Writing an invalid range, such as [z-a], will trigger a regex compilation error. A literal dash should be placed at the start or end: [a-z-].

Try it

تمرين#regex.m5.l2.e1
المحاولات: 0جارٍ التحميل…

Find every hexadecimal sequence of 6 characters (e.g. the color code #1a2b3c). Digits go from 0 to 9, letters from a to f (uppercase or lowercase).

جارٍ تحميل المحرر…
إظهار التلميح

Add A-F to the range, or use the i flag.

الحل متاح بعد 3 من المحاولات

Review exercise

تمرين#regex.m5.l2.e2
المحاولات: 0جارٍ التحميل…

Find every product code made of 3 uppercase letters followed by 4 digits (e.g. ABC1234).

جارٍ تحميل المحرر…
إظهار التلميح

For digits you can use \\d or the range [0-9]: this exercise requires explicit [0-9].

الحل متاح بعد 3 من المحاولات

Additional challenge

تمرين#regex.m5.l2.e3
المحاولات: 0جارٍ التحميل…

Find hex characters in the text (digits 0-9 and letters A-F, both upper and lowercase).

جارٍ تحميل المحرر…
إظهار التلميح

Combine three ranges: 0-9, a-f, A-F.

الحل متاح بعد 3 من المحاولات