| Sözdizimi | Anlam | Not |
|---|---|---|
| ^ / $ | Başlangıç / bitiş | m bayrağı satır davranışını değiştirir. |
| . | Genel karakter | s bayrağı satır sonunu dahil eder. |
| \d / \w / \s | Rakam / word / boşluk | Motor ve Unicode davranışını doğrulayın. |
| [abc] | Karakter kümesi | Kümeden bir karakter eşleşir. |
| (abc) / (?:abc) | Grup | Yakalama farkı vardır. |
| * / + / ? | Tekrar | Sırasıyla 0+, 1+, 0–1. |
| {n} / {n,m} | Tekrar sayısı | Sabit veya aralıklı. |
| | | Alternatif | A|B seçeneklerinden biri. |
Örnek
^\d{4}$ tam dört rakamı; ^[A-Z]{2}-\d{3}$ iki büyük harf, tire ve üç rakamı sınar.
Bunlar örnektir; uygulamanızın kabul ettiği formatı ayrıca belirleyin.
Bayraklar
i harf duyarsızlığı, g tüm eşleşmeler, m satır sınırları, s dotAll davranışını etkiler.
Global RegExp.test() lastIndex durumunu değiştirir; aynı nesneyi yeniden kullanırken test edin.
Güvenli test
Boş, Unicode, uzun ve kötü biçimli örnekler ekleyin; deseni küçük adımlarla kurun.
Belirsiz iç içe tekrar kötü girdilerde aşırı süre tüketebilir.
Kaçış ve gruplar
Nokta gibi özel karakterleri gerçek karakter olarak aramak için kaçış kullanın; örneğin ters eğik çizgi ile nokta yalnız nokta karakterini, tek başına nokta ise çoğu durumda herhangi bir karakteri ifade eder. Yakalama grubu sonucu daha sonra okumayı sağlar; yakalamayan grup yalnızca ifadeyi bir arada tutar.
Karakter kümesinin içindeki ve dışındaki kurallar değişebilir. Deseni örnek girdilerle, boş değerle ve beklenmeyen Unicode karakterleriyle sınamak kolay hata türlerini ortaya çıkarır.
Performans ve motor davranışı
JavaScript regex özellikleri tarayıcı motoruna ve kullanılan bayraklara bağlıdır. Unicode metin sınıfları için u bayrağını ve desteklenen ortamlarda Unicode property escape biçimlerini inceleyin.
İç içe belirsiz tekrarlar bazı girdilerde aşırı çalışma süresi doğurabilir. Kullanıcı girdisi üzerinde çalışan uygulamalarda giriş uzunluğunu sınırlandırın ve deseni gerçek en kötü durum örnekleriyle test edin.