Chuyển đến nội dung chính
eLearner.app
Mô-đun 5 · Bài học 3 trong tổng số 419/32 trong khóa học~8 min
Bài học theo mô-đun (3/4)

Phủ định: `[^...]`

Placing a caret ^ as the first character inside brackets inverts the class: it matches any character except those listed.

Code
Pattern: [^aeiou]
Sample:  ciao mondo
          ^   ^^  ^

[^aeiou] matches consonants, spaces, punctuation, digits\u2026 everything that is not a vowel.

Typical examples

  • [^\s] -- any "non-space" character (equivalent to \S).
  • [^0-9] -- anything that is not a digit (equivalent to \D).
  • [^"]+ -- "a sequence of characters that are not double quotes" (useful to extract content between quotes).
Code
Pattern: "([^"]+)"
Sample:  Il libro "Il nome della rosa" e' famoso.

The group ([^"]+) captures everything between quotes stopping before the next ": it is a classic trick to avoid the greedy-vs-lazy problem.

Negation and alternative wildcards

The negated class [^...] consumes exactly one character that is NOT part of the listed set. It is a powerful tool to prevent the engine from running past critical delimiters, avoiding ReDoS caused by infinite backtracking loops.

Try it

tập thể dục#regex.m5.l3.e1
Nỗ lực: 0Đang tải…

Extract the content of every string between double quotes, without capturing the quotes themselves.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Replace .+ with [^"]+: this way the match stops at the next quote.

Giải pháp khả dụng sau 3 lần thử

Review exercise

tập thể dục#regex.m5.l3.e2
Nỗ lực: 0Đang tải…

Find every word made up ONLY of consonants (no vowels, no digits, no symbols).

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Inside the brackets you can combine vowel negation with \\W (non-word) and \\d (digits).

Giải pháp khả dụng sau 3 lần thử

Additional challenge

tập thể dục#regex.m5.l3.e3
Nỗ lực: 0Đang tải…

Match sequences of one or more characters, explicitly excluding whitespace and commas.

Đang tải trình chỉnh sửa…
Hiển thị gợi ý

Use [^\s,] with the + quantifier.

Giải pháp khả dụng sau 3 lần thử