RegEx Söz Dizimi Hızlı Referans

Düzenli ifadeler, kurallar ifadesi olarak da adlandırılan, genellikle metin aramak, değiştirmek ve kontrol etmek için kullanılan bir metin modelidir. Genellikle a'dan z'ye harfler ve bazı özel karakterleri içerir. Düzenli ifadelerin uygulama alanları oldukça geniştir, başlangıçta Unix tarafından yaygınlaştırılmıştır ve daha sonra Scala, PHP, C#, Java, C++, Objective-c, Perl, Swift, VBScript, Javascript, Ruby ve Python gibi birçok dilde yaygın olarak kullanılmıştır. Düzenli ifadeleri öğrenmek, aslında bir tür esnek mantıksal düşünce tarzını öğrenmektir ve bu, basit ve hızlı yollarla string üzerinde kontrol sağlamak anlamına gelir.
Düzenli Karakter Açıklama
\ Sonraki karakteri özel bir karakter, veya bir anlamda karakter, bir geri referans veya bir sekizli kaçış karakteri olarak işaretler. Örneğin, “n" karakterini eşleştirir. "\n" bir yeni satır karakterini eşleştirir. "\\" "\" ile eşleşir; "\(" ise "(" ile eşleşir.
^ Girdi dizesinin başlangıç konumunu eşleştirir. RegExp nesnesinin Çoğul Satır (Multiline) özelliği ayarlanmışsa, ^, “\n" veya "\r" sonrasındaki konumlarla da eşleşir.
$ Girdi dizesinin bitiş konumunu eşleştirir. RegExp nesnesinin Çoğul Satır (Multiline) özelliği ayarlanmışsa, $ da “\n" veya "\r" öncesindeki konumlarla eşleşir.
* Önceki alt ifadeyi sıfır veya daha fazla sayıda eşleştirir. Örneğin, zo*z" ve "zoo" ile eşleşir. * , {0,} ile eşdeğerdir.
+ Önceki alt ifadeyi bir veya daha fazla sayıda eşleştirir. Örneğin, zo+zo" ve "zoo" ile eşleşir, ancak "z" ile eşleşmez. +, {1,} ile eşdeğerdir.
? Önceki alt ifadeyi sıfır veya bir kez eşleştirir. Örneğin, do(es)? "does" veya "does" içindeki "do" ile eşleşir. ? , {0,1} ile eşdeğerdir.
{n} n pozitif bir tam sayıdır. Belirtilen n kez eşleşir. Örneğin, "o{2}" "Bob" içindeki "o" ile eşleşmez, ancak "food" içinde iki "o" ile eşleşir.
{n,} n pozitif bir tam sayıdır. En az n kez eşleşir. Örneğin, o{2,} "Bob" içindeki "o" ile eşleşmez, ancak "foooood" içerisindeki tüm "o" ile eşleşir. o{1,} o+ ile eşdeğerdir. o{0,} o* ile eşdeğerdir.
{n,m} m ve n pozitif tam sayılardır ve n<=m olmalıdır. En az n kez eşleşir ve en fazla m kez eşleşir. Örneğin, o{1,3} "fooooood" içindeki ilk üç "o" ile eşleşir. o{0,1} o? ile eşdeğerdir. Virgül ile iki sayı arasında boşluk olmamalıdır.
? Bu karakter herhangi bir başka kısıtlayıcının (*, +, ?, {n}, {n,}, {n,m}) ardından geldiğinde eşleştirme deseni, açgözlü olmayan bir eşleştirmedir. Açgözlü olmayan mod, mümkün olduğunca az karakter eşleştirirken, varsayılan açgözlü mod mümkün olduğunca çok karakter eşleştirir. Örneğin, “oooo" dizesi için o+? tek bir "o" ile eşleşirken, o+ tüm "o" ile eşleşir.
. \n" harici herhangi bir tek karakter ile eşleşir. "\n" da dahil olmak üzere herhangi bir karakterle eşleşmek için "(.|\n)" gibi bir deseni kullanın.
(pattern) pattern ile eşleşir ve bu eşleşmeyi alır. Alınan eşleşme, sonuç kümesi Matches'ten elde edilebilir, VBScript'te SubMatches kümemizde, JScript'te ise $0…$9 özellikleri ile kullanılabilir. Parantez karakterini eşleştirmek için “\(" veya "\)" kullanın.
(?:pattern) pattern ile eşleşir ancak eşleşme sonucunu almaz, yani bu bir alıcı eşleşmedir, sonraki kullanım için saklanmaz. Bu, veya karakteri “(|)" ile bir deseni birleştirirken çok yararlıdır. Örneğin "industr(?:y|ies)", "industry|industries"'den daha kısa bir ifadedir.
(?=pattern) Doğru onay ön kontrolü, herhangi bir pattern ile eşleşen dizedeki arama dizisini eşleştirir. Bu, bir alıcı eşleşme değildir; bu eşleşmenin sonrasında kullanılmasına gerek yoktur. Örneğin Windows(?=95|98|NT|2000) "Windows2000"'daki "Windows" ile eşleşebilir, ancak "Windows3.1" için geçerli değildir. Öngörü, karakterleri tüketmez, yani bir eşleşme gerçekleştiğinde, bir sonraki eşleşme aramasına son eşleşmenin hemen ardından başlar; içindeki öngörüyü içerdiği karakterden sonra değil.
(?!pattern) Doğru olumsuz ön kontrol, pattern ile eşleşmeyen herhangi bir dize başlangıcında arama dizisini eşleştirir. Bu, alıcı bir eşleşme değildir; bu eşleşmenin sonrasında kullanılmasına gerek yoktur. Örneğin Windows(?!95|98|NT|2000) "Windows3.1"'daki "Windows" ile eşleşebilir, ancak "Windows2000"'daki "Windows"' ile eşleşemez. Öngörü, karakterleri tüketmez. Bir eşleşmenin gerçekleşmesinden sonra, en son eşleşmeden sonra bir sonraki eşleşme aramasına başlar, yani içindeki ön kontrolü dikkate almadan.
(?<=pattern) Ters doğru onay öngörüsü, doğru onay öngörüsüne benzer fakat yönü tersidir. Örneğin, (?<=95|98|NT|2000)Windows "2000Windows"'daki "Windows" ile eşleşir; "3.1Windows"'daki "Windows" ile eşleşmez.
(?<!pattern) Ters olumsuz ön kontrol, doğru olumsuz öngörüsüne benzer fakat yönü tersi. Örneğin, (?<!95|98|NT|2000)Windows "3.1Windows"'daki "Windows" ile eşleşirken, "2000Windows"'daki "Windows" ile eşleşmez.
x|y x veya y ile eşleşir. Örneğin, z|food "z" veya "food" ile eşleşir. (z|f)ood ise "zood" veya "food" ile eşleşir.
[xyz] Karakter kümesi. İçinde bulunan herhangi bir karakter ile eşleşir. Örneğin; [abc] "plain" içindeki "a" ile eşleşir.
[^xyz] Olumsuz karakter kümesi. İçinde bulunmayan herhangi bir karakter ile eşleşir. Örneğin; [^abc] "plain" içindeki "p" ile eşleşir.
[a-z] Karakter aralığı. Belirtilen aralıktaki herhangi bir karakter ile eşleşir. Örneğin; [a-z] "a" ile "z" arasındaki herhangi bir küçük harf ile eşleşir.
[^a-z] Olumsuz karakter aralığı. Belirtilen aralıkta bulunmayan herhangi bir karakter ile eşleşir. Örneğin; [^a-z] "a" ile "z" arasındaki herhangi bir karakter ile eşleşmez.
\b Bir kelime sınırını eşleştirir; yani kelime ile boşluk arasındaki konumu. Örneğin; er\b "never" içindeki "er" ile eşleşir, ancak "verb" içindeki "er" ile eşleşmez.
\B Kelime sınırı olmayan bir konumu eşleştirir. er\B "verb" içindeki "er" ile eşleşirken, "never" içindeki "er" ile eşleşmez.
\cx x ile belirtilen kontrol karakterini eşleştirir. Örneğin, \cM bir Control-M veya yeni satır karakterini eşleştirir. x'in değeri A-Z veya a-z'dan biri olmalıdır. Aksi takdirde, c bir anlamda "c" karakteri olarak değerlendirilir.
\d Bir rakam karakteri ile eşleşir. [0-9] ile eşdeğerdir.
\D Bir rakam olmayan karakter ile eşleşir. [^0-9] ile eşdeğerdir.
\f Bir sayfa atlama karakteri ile eşleşir. \x0c ve \cL ile eşdeğerdir.
\n Bir yeni satır karakteri ile eşleşir. \x0a ve \cJ ile eşdeğerdir.
\r Bir satır başı karakteri ile eşleşir. \x0d ve \cM ile eşdeğerdir.
\s Herhangi bir boşluk karakteri ile eşleşir, boşluk, sekme, sayfa atlama vb. [ \f\n\r\t\v] ile eşdeğerdir.
\S Herhangi bir boşluk olmayan karakter ile eşleşir. [^ \f\n\r\t\v] ile eşdeğerdir.
\t Bir sekme karakteri ile eşleşir. \x09 ve \cI ile eşdeğerdir.
\v Bir dikey sekme karakteri ile eşleşir. \x0b ve \cK ile eşdeğerdir.
\w Alt çizgi dahil herhangi bir kelime karakteri ile eşleşir. “[A-Za-z0-9_]" ile eşdeğerdir.
\W Herhangi bir kelime olmayan karakter ile eşleşir. “[^A-Za-z0-9_]" ile eşdeğerdir.
\xn n ile eşleşir; burada n hexadecimal kaçış değeri olarak belirtilmiştir. Hexadecimal kaçış değeri tam olarak iki basamaklı rakam olmalıdır. Örneğin; \x41 "A" ile eşleşir. \x041 \x04&1 ile eşdeğerdir. Düzenli ifadelerde ASCII kodu kullanılabilir.
\num num ile eşleşir; burada num pozitif bir tam sayıdır. Alınan eşleşmeye referans. Örneğin; (.)\1 ardışık iki aynı karakter ile eşleşir.
\n Bir sekizli kaçış değeri veya bir geri referans tanımlar. Eğer \n önceki en az \n elde edilen alt ifadeyi referans alıyorsa, o \n geri referanstır. Aksi takdirde, eğer n sekizli bir rakam (0-7) ise n bir sekizli kaçış değeridir.
\nm Bir sekizli kaçış değeri veya geri referansı tanımlar. Eğer \nm öncesinde en az nm elde edilen alt ifadeler varsa, o zaman nm geri referanstır. Eğer nm öncesinde en az n elde edilen varsa, n bir ardından gelen m karakterinin geri referansıdır. Aksi halde, eğer n ve m her ikisi de sekizli rakamlar (0-7) ise, o zaman \nm sekizli kaçış değeri nm ile eşleşir.
\nml eğer n bir sekizli rakam (0-3) ve m ve l de sekizli rakamlar (0-7) ise, o zaman sekizli kaçış değeri nml ile eşleşir.
\un n ile eşleşir; burada n, dört hexadecimal rakamla temsil edilen bir Unicode karakteridir. Örneğin, \u00A9, telif hakkı sembolü (©) ile eşleşir.
Yaygın Düzenli İfadeler
Kullanıcı Adı /^[a-z0-9_-]{3,16}$/
Şifre /^[a-z0-9_-]{6,18}$/
Şifre 2 (?=^.{8,}$)(?=.*\d)(?=.*\W+)(?=.*[A-Z])(?=.*[a-z])(?!.*\n).*$ (rakam / büyük harf / küçük harf / noktalama işareti içermeli, hepsi olmalı, 8 karakterden fazla)
Altıgen Değer /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
E-posta /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ veya \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
URL /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ veya [a-zA-z]+://[^\s]*
IP Adresi /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ veya ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
HTML Etiketleri /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ veya <(.*)(.*)>.*<\/\1>|<(.*) \/>
Yorum Satırlarını Sil \\ (?<!http:|\S)//.*$
İki Baytlık Karakterleri Eşleştir (Çin Karakterleri dahil) [^\x00-\xff]
Çin Karakteri [\u4e00-\u9fa5]
Unicode Kodlamasındaki Çince Karakter Aralığı /^[\u2E80-\u9FFF]+$/
Çince ve Tam Daire Noktalama İşaretleri (Karakter) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
Tarih (Yıl-Ay-Gün) (\d{4}|\d{2})-((0?([1-9]))|(1[1|2]))-((0?[1-9])|([12]([1-9]))|(3[0|1]))
Tarih (Ay/Gün/Yıl) ((0?[1-9]{1})|(1[1|2]))/(0?[1-9]|([12][1-9])|(3[0|1]))/(\d{4}|\d{2})
Saat (Saat:Dakika, 24 saat) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
Çin Kontrol Numarası (\d{4}-|\d{3}-)?(\d{8}|\d{7})
Çin Sel Telefon Numarası 1\d{10}
Çin Posta Kodu [1-9]\d{5}
Çin Kimlik Numarası (15 veya 18 haneli) \d{15}(\d\d[0-9xX])?
Pozitif Tam Sayı (sıfır veya pozitif) \d+
Pozitif Tam Sayı [0-9]*[1-9][0-9]*
Olumsuz Tam Sayı -[0-9]*[1-9][0-9]*
Tam Sayı -?\d+
Ondalık Sayı (-?\d+)(\.\d+)?
Boş Satır \n\s*\r veya \n\n(editplus) veya ^[\s\S ]*\n
QQ Numarası [1-9]\d{4,}
abc içermeyen kelimeler \b((?!abc)\w)+\b
Baş ve Son Boşluk Karakterlerini Eşleştir ^\s*|\s*$
Düzenli İfade Düzenlemeleri
Özel Çin metni için bazı değişiklikler (editplus)
^[0-9].*\n
^[^第].*\n
^[习题].*\n
^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n
<p[^<>*]>
href="javascript:if\(confirm\('(.*?)'\)\)window\.location='(.*?)'"
<span style=".[^"]*rgb\(255,255,255\)">.[^<>]*</span>
<DIV class=xs0>[\s\S]*?</DIV>

Düzenli İfade Sözlüğü - Yaygın Düzenli İfade Teknikleri ve Yapısı

Düzenli ifadeler güçlü bir metin işleme aracıdır, bu sayfa sizlere yaygın olarak kullanılan Düzenli İfade Sözlüğü'nü sunar, düzenli ifadelerin temel sözdizimini, biçimlendiricilerini, alt ifadelerini, açgözlü ve açgözsüz modlarını hızlı bir şekilde anlamanızı yardımcı olur.

Düzenli İfade Temel Sözdizimi

Düzenli ifadeler, dize modlarını tanımlamak için kullanılan kurallardır, yaygın temel sözdizimi aşağıdakileri içerir:

Yaygın Düzenli İfade Biçimlendiricileri

Düzenli ifade biçimlendiricileri, düzenli ifadelerin eşleşme kurallarını değiştirmek için kullanılır, yaygın biçimlendiriciler şunları içerir:

Açgözlü ve Açgözsüz Modlar

Düzenli ifadelerde, miktar belirteçleri varsayılan olarak açgözlüdür; mümkün olduğunca fazla karakteri eşleştirir. Açgözsüz mod, miktar belirteci sonuna ? eklenerek kulanılır; örnek ihtimal aşağıdaki gibidir:

Alt İfadeler ve Gruplama

Düzenli ifadelerde alt ifadeler parantezler (( )) kullanılarak tanımlanır; eşleşen kısmı çıkarmak için sıklıkla kullanılır. Gruplama, "|" sembolü ile gerçekleştirilir. Örneğin:

Düzenli İfade Hızlı Sorgu

Aşağıda yaygın olarak kullanılan düzenli ifadeler için hızlı sorgu:

Fonksiyon Düzenli İfade
Rakam Eşleştir \d
Rakam Olmayan Eşleştir \D
Harfi Eşleştir [a-zA-Z]
Herhangi Bir Karakter Eşleştir .
Boşluk Karakterini Eşleştir \s

Düzenli İfade Kullanım Alanları

Düzenli ifadeler geniş bir uygulama alanına sahiptir:

Düzenli İfadeler Öğrenme İpuçları

Hemen Düzenli İfade Sözlüğü'nü kullanmaya başlayın, düzenli ifadeler yazarken daha verimli hale gelin ve metin işleme yeteneklerinizi artırın!

Seyahatleriniz:
Dil Seçin