Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Yaygın olarak "regex" veya "regexp" olarak bilinen normal ifadeler, bir arama modelini tanımlayan dizelerdir. Bir dizenin belirli bir kalıp içerip içermediğini kontrol etmek, bir dizeden bilgi çıkarmak ve bir dizenin parçalarını yeni metinle değiştirmek için normal ifadeleri kullanabilirsiniz.

Normal ifadelerin temel sözdizimini ve bunların JavaScript'te nasıl kullanılacağını öğrenin.

Normal İfadelerin Temel Söz Dizimi

JavaScript'te normal ifade oluşturmanın iki yolu vardır: normal ifade sabit değeri kullanmak ve normal ifade yapıcı

Bir normal ifade sabit değeri, eğik çizgiler arasına alınmış bir modelden ve ardından isteğe bağlı bir bayraktan oluşur.

Örneğin:

// bayraksız
sabit normal ifade_ifadesi_1 = /pattern/

// Bayraklı
sabit normal ifade_ifadesi_2 = /pattern/bayrak

Bayrak, davranışını değiştirmek için bir normal ifadeye ekleyebileceğiniz isteğe bağlı bir parametredir. Örneğin:

instagram viewer
sabit normal ifade İşareti = /the/g;

bu G flag, ifadenin yalnızca ilkiyle değil, tüm oluşumlarla eşleşmesi gerektiğini belirtir.

kullanarak düzenli bir ifade de oluşturabilirsiniz. normal ifade yapıcı Örneğin:

sabit normal ifade = yeninormal ifade("Model", "G");

bu normal ifade yapıcı iki parametre alır: bir kalıp—bir dize veya normal ifade sabit değeri—ve bir bayrak(lar).

JavaScript'te normal ifadeyle kullanacağınız oldukça yaygın iki işaret vardır:

  • G: Genel işaret, düzenli ifadenin, tek bir oluşum yerine verilen dizgedeki tüm kalıp oluşumlarıyla eşleşmesini sağlar.
  • Ben: Büyük/küçük harfe duyarlı olmayan bayrak, normal ifadenin kalıbın büyük/küçük harf durumunu dikkate almamasını ve verilen dizedeki büyük ve küçük harfleri eşleştirmesini sağlar.

Bayrakları tek bir ifadede herhangi bir sırayla birlikte kullanabilirsiniz. Örneğin:

sabit normal ifade = yeninormal ifade("Model", "gi");

Bu ifade, duruma bakılmaksızın "Pattern" ifadesinin tüm oluşumlarıyla eşleşecektir.

Normal ifadelerde, meta karakter olarak bilinen belirli karakterlerin özel anlamları vardır. Belirli karakter türlerini veya desenleri eşleştirmek için bunları kullanabilirsiniz.

İşte en sık kullanılan meta karakterlerden bazıları ve anlamları:

  • Joker Karakter (.): Bu karakter, yeni bir satır dışında herhangi bir tek karakterle eşleşir. Bilinmeyen karakterler içeren kalıpları eşleştirmek için yararlı bir araçtır.
  • Kleene Yıldızı (*): Bu karakter, önceki karakter veya grubun sıfır veya daha fazla tekrarıyla eşleşir. Önceki karakterin veya grubun dizede sıfır da dahil olmak üzere herhangi bir sayıda görünmesine izin verir.
  • İsteğe Bağlı Karakter (?): Bu karakter, önceki bir karakterin veya grubun sıfır veya bir tekrarıyla eşleşir.
  • Hat Çapasının Başlangıcı (^): Bu karakter yalnızca bir satırın veya dizenin başlangıcıyla eşleşir.
  • Satır Sonu Çapa ($): Bu karakter, bir satırın veya dizenin sonuyla eşleşir.
  • Karakter Kümesi/Sınıfı ([]): Bir karakter seti, bir dizgedeki bir karakter setinden herhangi bir karakterle eşleşir. Bunları köşeli parantez kullanarak tanımlarsınız [] ve bir dizi sabit karakter, özel karakter veya belirli karakter grupları belirleyebilirsiniz.
  • Değiştirme Karakteri (|): Bu karakter, önceki veya sonraki karakter veya grupla eşleşir. OR'a benzer şekilde çalışır JavaScript operatörü.
  • Gruplama Karakteri (()): Gruplandırma karakteri, karakterleri veya alt ifadeleri gruplandırmanıza, bunlara bir birim olarak işleçler uygulamanıza ve işlem sırasını kontrol etmenize olanak tanır.

Bir Dizeyi JavaScript'te Bir Normal İfadeye Karşı Test Etme

JavaScript'te, birkaç yöntem kullanarak bir dizeyi normal bir ifadeye karşı test edebilirsiniz.

Bu bölüm, düzenli ifadeler ve kalıplar hakkında temel bir anlayışa sahip olduğunuzu varsayar. Düzenli ifadelerden rahatsızsanız, kontrol edin düzenli ifadeler için başlangıç ​​kılavuzu Birinci.

Test Yöntemi

bu .Ölçek() yöntem, normal ifadenin dizeyle eşleşip eşleşmediğini gösteren bir boole değeri döndürür. Bu yöntem, aramayı argüman olarak gerçekleştirmek için bir dize alır. Özellikle basit kontroller için kullanışlıdır.

Örneğin:

izin vermek normal ifade = /.com$/;
izin vermek dizi = "örnek.com";
konsol.log (regex.test (str)); // doğru

Bu normal ifade, ".com" ile biten bir dizeyle eşleşir.

yürütme Yöntemi

bu .exec() yöntemi, eşleşen metni ve yakalanan grupları veya hükümsüz bir eşleşme bulamazsa. Bu yöntem, aramayı argüman olarak gerçekleştirmek için bir dize alır. Daha karmaşık normal ifadeler için kullanışlıdır.

Örneğin:

izin vermek normal ifade = /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;
izin vermek dizi = "123-456-7890";
izin vermek sonuç = normal ifade.exec (str);

eğer (sonuç !== hükümsüz) {
konsol.kayıt(`${sonuç[0]} geçerli bir telefon numarasıdır`);
} başka {
konsol.kayıt("Geçersiz telefon numarası");
}

Yukarıdaki normal ifade, isteğe bağlı " ile başlayan bir dizeyle eşleşir.(", üç basamak ve isteğe bağlı bir ")". Daha sonra isteğe bağlı bir "" arar.-", "." veya boşluk, ardından üç basamak. Sonunda isteğe bağlı bir "-", "." veya dizenin sonunda dört basamaklı bir boşluk.

Bu normal ifade, “(xxx) xxx-xxxx”, “xxx-xxx-xxxx”, “xxx.xxx.xxxx” veya “xxx xxx xxxx” biçimindeki telefon numaralarıyla eşleşir.

Bir eşleşme bulursa, .exec() eşleşen metni ve yakalanan grupları (parantez içinde tanımlanmış) içeren bir dizi döndürür. Her grubu, döndürdüğü dizide ek bir öğe olarak içerecektir. Bu, eşleşen metnin belirli bölümlerine erişmenizi sağlar ve bu, bir dizeden bilgi çıkarmanıza yardımcı olabilir.

değiştirme Yöntemi

bu .yer değiştirmek() yöntem, bir normal ifade ile bir dize arasında bir eşleşme arar ve eşleşen metni belirtilen bir değiştirme metniyle değiştirir. Bu, dize nesnelerinin bir yöntemidir ve bağımsız değişken olarak bir düzenli ifade ve bir değiştirme dizesi alır.

Örneğin:

izin vermek dizi = "Hızlı kahverengi tilki tembel köpeğin üzerinden atlar.";
izin vermek ifade = /The/gi;
izin vermek newString = string.replace (ifade, "A");
konsol.log (yeniDize); // "hızlı bir kahverengi tilki tembel bir köpeğin üzerinden atlar."

Bu örnek yer değiştirmek() yöntemi sicim değişken, normal ifadeyi geçerek, ifade. Normal ifade, duruma bakılmaksızın dizedeki tüm "The" oluşumlarıyla eşleşir. replace yöntemine yapılan çağrı, her oluşumu "a" dizesiyle değiştirmesi talimatını verir.

Normal İfadeleri Kullanırken Dikkat Edilmesi Gereken Performanslar

Düzenli ifadeler, dizeleri eşleştirmeye ve değiştirmeye yardımcı olsa da, performans açısından da maliyetli olabilir. Kalıpları olabildiğince spesifik yapmak ve onları basit tutmak, performanslarını korumak için çok önemlidir.