Helaian tip regex asas

Ungkapan reguler (regex) ialah corak yang sepadan dengan teks. Setiap simbol, dipanggil token, mengubah tingkah laku corak. Helaian di bawah menyenaraikan token paling berguna dengan makna mudah dan contoh kecil untuk disalin dan diuji.

Dikemas kini:

TokenMaksudContoh
.Matches any single character except newline.a.c matches abc, a c
*Matches the preceding token zero or more times.ab* matches a, abb
+Matches the preceding token one or more times.ab+ matches ab, abb
?Makes the preceding token optional (zero or one).colou?r matches color, colour
[]Character set: matches any one character inside.[aeiou] matches any vowel
[^]Negated set: matches any character NOT inside.[^0-9] matches any non-digit
\dMatches any digit (0-9).\d+ matches 42, 007
\wMatches any word character (a-z, A-Z, 0-9, _).\w+ matches hello_1
\sMatches any whitespace (space, tab, newline).a\sb matches a b
^Anchors the match to the start of a line/string.^Hello matches start of string
$Anchors the match to the end of a line/string.world$ matches end of string
|Alternation: matches the pattern on either side.cat|dog matches cat or dog
()Groups a sub-pattern (and captures it).(ab)+ matches ab, abab
{n,m}Quantifier: match the preceding token n to m times.a{2,4} matches aa, aaaa
(?i)Inline flag: makes the pattern case-insensitive.(?i)hello matches HELLO

Nota

Soalan lazim

Apakah yang dipadankan oleh titik (.) ?
Secara lalai, titik memadankan sebarang aksara kecuali baris baharu. Untuk memadankan titik literal, escape sebagai \.
Apakah bezanya * dan + ?
Bintang * memadankan token sebelumnya sifar atau lebih kali, jadi 'ab*' juga memadankan 'a'. Tanda tambah + memerlukan sekurang-kurangnya satu, memadankan 'ab' tetapi bukan 'a' sahaja.
Bagaimana memadankan digit atau aksara perkataan?
Gunakan \d untuk digit (0-9) dan \w untuk aksara perkataan (huruf, digit, garis bawah). Negasi ialah \D dan \W.
Untuk apa ^ dan $ ?
^ mengunci padanan di awal string atau baris; $ di hujung. Bersama-sama, ^corak$ memaksa seluruh string dipadankan.