Pulsuz çevirici

Regex Tester

Daimi ifadələri dərhal brauzerinizdə sınayın və debug edin. Uyğunluqları vurğulayın, çəkiliş qruplarına baxın və əvəzetmə rejimindən istifadə edin - pulsuz və şəxsi.

//g
Bayraqlar:

Bu alət haqqında

Daimi ifadələr mətndəki nümunələri uyğunlaşdırmaq üçün domenə xas dildir. Onlar 1968-ci ildən hesablamanın bir hissəsidir və indi hər bir müasir proqramlaşdırma dilinə, mətn redaktoruna və komanda xətti axtarış alətinə daxil edilmişdir. Sintaksis qısa, lakin xətaya meyllidir: kiçik dəyişikliklər incə şəkildə fərqli uyğunluq davranışı yaradır və mürəkkəb ifadələr tez oxunmaz olur. Nümunəni redaktə edərkən real vaxtda uyğunluqları göstərən test cihazı regex hazırlamaq və yoxlamaq üçün ən effektiv üsuldur.

Bu tester JavaScript regex mühərrikindən istifadə edərək brauzerinizdə işləyir (brauzerdə işləyirsə tətbiqinizin istifadə etdiyi eyni). Nümunələr və test mətni reaktiv şəkildə yenilənir: hər hansı bir dəyişiklik matçı yenidən işə salır. Uyğunluq qrupları vurğulanır, tutulan qruplar siyahıya salınır və bayraqlar (böyük hərflərə həssas olmayan, çoxsətirli, qlobal) sınaq üçün təqdim olunur.

Regex sintaksisi mühərriklər arasında incə şəkildə dəyişir. JavaScript ECMAScript spesifikasiyasını izləyir; Python, PCRE (PHP və bir çox başqaları tərəfindən istifadə olunur), Java və Go hər birinin üst-üstə düşən, lakin eyni xüsusiyyətlərə malik olmayan öz dialektləri var. Burada hazırlanmış nümunələr ECMAScript sintaksisindən istifadə edir; mühərriklər arası daşınma hər bir hədəfin sənədlərinin yoxlanılmasını tələb edir.

Niyə Regex Testerindən istifadə edin

Regex səhvlərini yerləşdirmədən sonra aradan qaldırmaq çox çətindir. Ağlabatan görünən nümunə nəzərdə tutulduğundan daha çox və ya daha az uyğunlaşa bilər, kənar hallarda uğursuz ola bilər və ya müəyyən girişlərdə fəlakətli geriləmə ola bilər. Nümunəvi girişə qarşı nümunələri interaktiv şəkildə sınaqdan keçirmək, kodun nəzərdən keçirilməsi və istehsalından əvvəl problemləri həll edir.

Nümunələr də sənədlərdən faydalanır. Uyğunlaşmalı olduğu və uyğun gəlməməli olduğu girişlə yanaşı regexin göstərilməsi niyyəti aydın edir. Gələcək baxıcılar (altı aydan sonra özünüz də daxil olmaqla) sənədləşdirilmiş test hadisələrini ağıllı tək laynerləri qiymətləndirməkdən daha çox qiymətləndirirlər.

Necə istifadə etməli

Nümunə yazın, test daxiletməsini yazın, canlı olaraq vurğulanan uyğunluqlara baxın.

  1. Nümunənizi daxil edin: Nümunə sahəsinə regex nümunəsini yazın. Həm hərfi regex (/pattern/bayraqlar), həm də yalnız naxışlı formalar işləyir; bayraqlar bayraqlar girişi vasitəsilə təyin edilə bilər.
  2. Test girişi əlavə edin: Nümunənin uyğun gəlməli olduğu nümunə mətni yapışdırın (və ideal olaraq mətn uyğun gəlməməlidir). Tester nümunəni girişə qarşı işlədir və uyğunluqları vurğulayır.
  3. Bayraqlar təyin edin: Ümumi bayraqlar: g (qlobal, bütün uyğunluqları tapın), i (böyük hərflərə həssas deyil), m (çoxxətli, ^ və $ uyğunluq xəttinin başlanğıcı/sonu), s (dotall, . yeni sətirlərə uyğun gəlir), u (Unicode).
  4. Nəticələri yoxlayın: Hər bir uyğunluq girişdə vurğulanır. Çəkmə qrupları qrup indeksi və dəyəri olan siyahıda görünür. Test cihazı eyni zamanda uyğunluqların sayını və nümunədəki hər hansı tərtib səhvlərini göstərir.

Ümumi istifadə halları

Texniki Detallar

JavaScript regex ECMAScript spesifikasiyasına uyğundur. Əsas xüsusiyyətlər: simvol sinifləri ([abc], [^abc]), kəmiyyət göstəriciləri (*, +, ?, {n,m}), növbə (|), qruplaşdırma ((...)), ələ keçirən və tutmayan qruplar, irəliyə baxmaq və arxaya baxmaq (müasir mühərriklər), arxa istinadlar, adlandırılmış qruplar, Unicode xassə qaçışları (standart sequ. bayraqları ilə), escape.

PCRE və Python-dan əhəmiyyətli fərqlər: arxada baxmaq dəstəyi JavaScript-də yenidir (2018+); adlandırılmış qruplar (?<ad>...) sintaksisindən istifadə edir; bəzi Unicode qaçışları u bayrağının düzgün işləməsini tələb edir. Dillər arası istifadə üçün nəzərdə tutulmuş nümunələr hər bir hədəfin sənədlərinə uyğun olaraq yoxlanılmalıdır.

Performans: geriyə əsaslanan regex mühərrikləri (əksəriyyəti JavaScript daxil olmaqla) müəyyən patoloji nümunələr üzrə fəlakətli geri izləmə ola bilər. Test cihazını asan testlər nümunənin sadələşdirməyə ehtiyacı olduğuna işarədir - adətən iç içə miqdarlardan və qeyri-müəyyən alternativlərdən qaçınmaqla.

Ən yaxşı təcrübələr

Tez-tez verilən suallar

Bu alət hansı regex ləzzətini dəstəkləyir?
O, JavaScript-in daxili RegExp mühərrikindən istifadə edir, hansı ki, baxışlar, baxışlar (müasir brauzerlərdə), adlandırılmış tutma qrupları və Unicode mülkiyyət qaçışları daxil olmaqla standart sintaksisi dəstəkləyir.
Regex dəyişdirmələrini sınaya bilərəmmi?
Bəli. Əvəzedici nümunə daxil etmək üçün Əvəzetmə rejiminə keçin. Siz qrup geri istinadları üçün $1, $2 və s., adlanmış qruplar üçün isə $<name> istifadə edə bilərsiniz.
Niyə mənim regexim burada Python/PHP ilə müqayisədə fərqli şəkildə uyğun gəlir?
Fərqli proqramlaşdırma dillərində bir qədər fərqli regex mühərrikləri var. JavaScript sahiblik kəmiyyət göstəricilərini və ya bəzi PCRE spesifik xüsusiyyətlərini dəstəkləmir. Əsas sintaksis (simvol sinifləri, kəmiyyətlər, qruplar) dillər arasında eynidir.
Alət mənim regex nümunələrimi saxlayır?
Xeyr. Heç nə saxlanılmır və ya ötürülmür. Alət tamamilə brauzerinizdə işləyir. Regex sətirini kopyalayaraq nümunələri əlfəcin edə və ya paylaşa bilərsiniz.
Hərfi xüsusi simvolu necə uyğunlaşdırmaq olar?
Əks kəsişmə ilə ondan qaçın. Hərfi nöqtəni uyğunlaşdırmaq üçün: \. Hərfi tərs kəsişmə ilə uyğunlaşdırmaq üçün: \\. Xarakter sinifləri daxilində [...], əksər xüsusi simvollar mənasını itirir.
Tester serverdə işləyir?
Xeyr. Nümunələrin tərtibi və uyğunlaşdırılması yerli RegExp obyektindən istifadə edərək brauzerinizdə baş verir.
JavaScript olmayan mühərriklər üçün nümunələri sınaya bilərəmmi?
Əsasən. Sadə nümunələr üçün əsas mühərriklər razılaşır. Qabaqcıl funksiyalar üçün (arxaya baxmaq, atom qrupları, sahiblik kəmiyyətləri, Unicode mülkiyyət qaçışları) hədəf mühərrikin sənədləri ilə təsdiqləyin.
Çox böyük girişi idarə edirmi?
Bir neçə meqabayta qədər rəvan işləyir. Daha böyük girişlər brauzeri yavaşlata və ya asa bilər, xüsusən də geri çəkilməyə meylli nümunələrlə.