Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Các ký tự đặc biệt (Special Characters) trong Python Regular Expression

Regex sử dụng các ký tự đặc biệt (metacharacters) với ý nghĩa riêng. Bảng dưới tóm tắt theo tài liệu Python.

Metacharacters ngoài Character Class

CharÝ nghĩa
\Escape hoặc bắt đầu special sequence
.Bất kỳ ký tự trừ newline (xem re.DOTALL)
^Đầu string (xem re.MULTILINE)
$Cuối string (xem re.MULTILINE)
[ ]Character class
|Alternation (OR)
( )Capturing group, precedence
? * + { }Quantifiers

Metacharacters BÊN TRONG Character Class [...]

CharÝ nghĩa
]Kết thúc class (nếu không phải ký tự 1)
-Range (ví dụ a-c)
^Negation (chỉ nếu là ký tự 1)
\Escape

Các metacharacters khác (.$*+?{}()|) mất tác dụng đặc biệt bên trong [...].

Quantifiers (Thêm ? cho non-greedy)

QuantifierÝ nghĩaTương đương
{m}Chính xác m lần
{m,n}Từ m đến n lần
*0 hoặc nhiều{0,}
+1 hoặc nhiều{1,}
?0 hoặc 1{0,1}

Special Sequences (Backslash sequences)

SeqÝ nghĩa
\dDigit [0-9]
\DNon-digit
\wWord char [a-zA-Z0-9_]
\WNon-word
\sWhitespace
\SNon-whitespace
\bWord boundary
\BNon-word boundary
\AStart of string
\ZEnd of string
\numberBackreference đến group số
\gBackreference đến named group

Flags quan trọng

  • re.IGNORECASE (re.I): Case-insensitive.
  • re.MULTILINE (re.M): ^ $ khớp đầu/cuối mỗi dòng.
  • re.DOTALL (re.S): . khớp newline.
  • re.VERBOSE (re.X): Pattern đẹp, có comment.
  • re.ASCII (re.A): \w \d \s chỉ ASCII.