דילוג לתוכן המרכזי
eLearner.app
מודול 7 · שיעור 1 מתוך 425/32 בקורס~12 min
שיעורי מודול (1/4)

כל הדגלים בפירוט

Complete recap of all the flags available in modern JavaScript (ES2024). A flag is a single character that modifies the behavior of the regex; they can be combined in any order.

FlagNameEffect
gGlobalFinds all matches, not just the first (required for matchAll).
iIgnore caseCase-insensitive (incl. Unicode characters with the u/v flag).
mMultiline^ and $ match the start/end of a line, not just the string.
sDot allThe . also matches newline \n.
uUnicodeCorrect handling of code points > 0xFFFF and enables \\p{...}.
vUnicode v-modeModern extension of u with set operations ([abc&&[def]]).
yStickyMatches only from position lastIndex, no skipping.
dHas indicesThe result includes indices with start/end of each group.
JS
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)

Typical combinations

  • g + i -- "find everything, case-insensitive". 80% of practical uses.
  • g + m -- to match line by line in multiline text.
  • g + s -- "the dot matches anything, including newlines". Useful to extract blocks across multiple lines.
  • u (or v) -- always if you are dealing with real-world text in any language or emoji.

Unicode v-mode and flag evolution

The v flag (available in ES2024) replaces u and enables advanced operations on sets, such as character class intersection and subtraction (e.g. [\\p{White_Space}&&\\p{ASCII}]).

Try it

פעילות גופנית#regex.m7.l1.e1
ניסיונות: 0טוען...

Find all occurrences of 'ciao' regardless of case. Use the correct flag.

טוען עורך...
הצג רמז

Add the i flag (case-insensitive) next to g.

הפתרון זמין לאחר 3 ניסיונות

Review exercise

פעילות גופנית#regex.m7.l1.e2
ניסיונות: 0טוען...

Find a block between `<pre>` and `</pre>` even if it contains newlines. You must use the flag that makes the dot also match newlines.

טוען עורך...
הצג רמז

Add the s flag so . matches newlines too, and use lazy .+? to stop at the first </pre>.

הפתרון זמין לאחר 3 ניסיונות

Additional challenge

פעילות גופנית#regex.m7.l1.e3
ניסיונות: 0טוען...

Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.

טוען עורך...
הצג רמז

Use the v flag and write the set subtraction [\p{ASCII}--\p{Nd}]+ to exclude numbers.

הפתרון זמין לאחר 3 ניסיונות