Düzenli ifade, bir dizi oluşturan karakter dizisidir. arama düzeni.
Arama modeli metin arama ve metin değiştirme için kullanılabilir operasyonlar.
Düzenli ifade, bir arama oluşturan karakter dizisidir desen.
Bir metinde veri aradığınızda, aradığınız şeyi açıklamak için bu arama modelini kullanabilirsiniz.
Düzenli ifade tek bir karakter veya daha karmaşık bir kalıp olabilir.
Normal ifadeler her türlü metin aramasını gerçekleştirmek için kullanılabilir ve metin değiştirme işlemleri.
/pattern/modifiers;/w3schools/i;Örnek açıklandı:
/w3schools/i normal bir ifadedir.
w3schools bir kalıptır (bir aramada kullanılacaktır).
i bir değiştiricidir (aramayı büyük/küçük harfe duyarlı olmayacak şekilde değiştirir).
JavaScript'te düzenli ifadeler sıklıkla iki dize ile birlikte kullanılır. yöntemler: search() ve replace().
search() yöntemi, bir şeyi aramak için bir ifade kullanır. match ve eşleşmenin konumunu döndürür.
replace() yöntemi değiştirilmiş bir dize döndürür; desen değiştirilir.
search() Dizesini Bir Dizeyle Kullanmasearch() yöntemi, bir dizede belirtilen değeri arar ve eşleşmenin konumunu döndürür:
Bir dizede "W3schools" araması yapmak için bir dize kullanın:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");n cinsinden sonuç şöyle olacaktır:
6
Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Methods</h1>
<p>Search a string for "W3Schools", and display the position of the match:</p>
<p id="demo"></p>
<script>
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
document.getElementById("demo").innerHTML = n;
</script>
</body>
</html>
search() Dizesini Normal İfadeyle KullanmaBir dizede "w3schools" için büyük/küçük harfe duyarlı olmayan bir arama yapmak için normal bir ifade kullanın:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);n cinsinden sonuç şöyle olacaktır:
6
Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Search a string for "w3Schools", and display the position of the match:</p>
<p id="demo"></p>
<script>
let text = "Visit W3Schools!";
let n = text.search(/w3Schools/i);
document.getElementById("demo").innerHTML = n;
</script>
</body>
</html>
replace() Dizesini Bir Dizeyle Kullanmareplace() yöntemi, belirtilen değeri bir dizedeki başka bir değerle değiştirir:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript String Methods</h1>
<p>Replace "Microsoft" with "W3Schools" in the paragraph below:</p>
<button onclick="myFunction()">Try it</button>
<p id="demo">Please visit Microsoft!</p>
<script>
function myFunction() {
let text = document.getElementById("demo").innerHTML;
document.getElementById("demo").innerHTML =
text.replace("Microsoft","W3Schools");
}
</script>
</body>
</html>
replace() Dizesini Normal İfadeyle KullanınMicrosoft'u W3Schools ile değiştirmek için büyük/küçük harfe duyarlı olmayan bir normal ifade kullanın bir dizede:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");res cinsinden sonuç şöyle olacaktır:
Visit W3Schools!Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript String Methods</h2>
<p>Replace "Microsoft" with "W3Schools" in the paragraph below:</p>
<button onclick="myFunction()">Try it</button>
<p id="demo">Please visit Microsoft!</p>
<script>
function myFunction() {
let text = document.getElementById("demo").innerHTML;
document.getElementById("demo").innerHTML =
text.replace(/microsoft/i, "W3Schools");
}
</script>
</body>
</html>
Yukarıdaki yöntemlerde normal ifade bağımsız değişkenleri (dize bağımsız değişkenleri yerine) kullanılabilir.
Düzenli ifadeler aramanızı çok daha güçlü hale getirebilir (örneğin büyük/küçük harfe duyarlı değildir).
Değiştiriciler, büyük/küçük harfe duyarlı olmayan daha genel aramalar gerçekleştirmek için kullanılabilir:
Değiştirici:
iAçıklama: Büyük/küçük harfe duyarlı olmayan eşleştirme gerçekleştirin
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a case-insensitive search for "w3schools" in a string:</p>
<p id="demo"></p>
<script>
let text = "Visit W3Schools";
let result = text.match(/w3schools/i);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
gAçıklama: Genel bir eşleşme gerçekleştirin (ilk eşleşmeden sonra durmak yerine tüm eşleşmeleri bulun)
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for "is" in a string:</p>
<p id="demo"></p>
<script>
let text = "Is this all there is?";
let result = text.match(/is/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
mAçıklama: Çok satırlı eşleştirme gerçekleştirin
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a multiline search for "is" at the beginning of each line in a string:</p>
<p id="demo"></p>
<script>
let text = "\nIs th\nis it?";
let result = text.match(/^is/m);
document.getElementById("demo").innerHTML = "Result is: " + result;
</script>
</body>
</html>
Parantezler bir dizi karakteri bulmak için kullanılır:
Değiştirici:
[abc]Açıklama: Parantez içindeki karakterlerden herhangi birini bulun
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for the character "h" in a string:</p>
<p id="demo"></p>
<script>
let text = "Is this all there is?";
let result = text.match(/[h]/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
[0-9]Açıklama: Parantez içindeki rakamlardan herhangi birini bulun
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for the numbers 1 to 4 in a string:</p>
<p id="demo"></p>
<script>
let text = "123456789";
let result = text.match(/[1-4]/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
(x|y)Açıklama: | ile ayrılmış alternatiflerden herhangi birini bulun.
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for any of the specified alternatives (red|green):</p>
<p id="demo"></p>
<script>
let text = "re, green, red, green, gren, gr, blue, yellow";
let result = text.match(/(red|green)/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Meta karakterler özel bir anlamı olan karakterlerdir:
Değiştirici:
\dAçıklama: Bir rakam bulun
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for digits in a string:</p>
<p id="demo"></p>
<script>
let text = "Give 100%!";
let result = text.match(/\d/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
\sAçıklama: Bir boşluk karakteri bulun
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for whitespace characters in a string:</p>
<p id="demo"></p>
<script>
let text = "Is this all there is?";
let result = text.match(/\s/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
\bAçıklama: Şuna benzer bir kelimenin başında bir eşleşme bulun: \bWORD veya bir kelimenin sonunda şöyle: WORD\b
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Search for the characters "LO" in the <b>beginning</b> of a word in the phrase:</p>
<p>"HELLO, LOOK AT YOU!"</p>
<p>Found in position: <span id="demo"></span></p>
<script>
let text = "HELLO, LOOK AT YOU!";
let result = text.search(/\bLO/);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Search for the characters "LO" in the <b>end</b> of a word in the phrase:</p>
<p>"HELLO, LOOK AT YOU!"</p>
<p>Found in position: <span id="demo"></span></p>
<script>
let text = "HELLO, LOOK AT YOU!";
let result = text.search(/LO\b/);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
\uxxxxAçıklama: Onaltılık sayı xxxx ile belirtilen Unicode karakterini bulun
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for the hexadecimal number 0057 (W) in a string:</p>
<p id="demo"></p>
<script>
let text = "Visit W3Schools. Hello World!";
let result = text.match(/\u0057/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Niteleyiciler miktarları tanımlar:
Değiştirici:
n+Açıklama: En az bir n içeren herhangi bir dizeyle eşleşir
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for at least one "o" in a string:</p>
<p id="demo"></p>
<script>
let text = "Hellooo World! Hello W3Schools!";
let result = text.match(/o+/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
n*Açıklama: n ifadesinin sıfır veya daha fazla tekrarını içeren herhangi bir dizeyle eşleşir
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for an "l", followed by zero or more "o" characters:</p>
<p id="demo"></p>
<script>
let text = "Hellooo World! Hello W3Schools!";
let result = text.match(/lo*/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
Değiştirici:
n?Açıklama: n ifadesinin sıfır veya bir örneğini içeren herhangi bir dizeyle eşleşir
Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Do a global search for a "1", followed by zero or one "0" characters:</p>
<p id="demo"></p>
<script>
let text = "1, 100 or 1000?";
let result = text.match(/10?/g);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
JavaScript'te RegExp nesnesi, aşağıdaki özelliklere sahip bir normal ifade nesnesidir: önceden tanımlanmış özellikler ve yöntemler.
test() yöntemi bir RegExp ifade yöntemidir.
Bir dizede bir kalıp arar ve true değerini döndürür sonuca bağlı olarak yanlış veya yanlış.
Aşağıdaki örnekte "e" karakteri için bir dize aranır:
const pattern = /e/;
pattern.test("The best things in life are free!");Dizede bir "e" olduğundan yukarıdaki kodun çıktısı şöyle olacaktır:
true
Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p>Search for an "e" in the next paragraph:</p>
<p id="p01">The best things in life are free!</p>
<p id="demo"></p>
<script>
let text = document.getElementById("p01").innerHTML;
const pattern = /e/;
document.getElementById("demo").innerHTML = pattern.test(text);
</script>
</body>
</html>
Öncelikle normal ifadeyi bir değişkene yerleştirmeniz gerekmez. İki yukarıdaki satırlar bire kısaltılabilir:
/e/.test("The best things in life are free!");exec() yöntemi bir RegExp ifade yöntemidir.
Belirli bir kalıp için bir dize arar ve bulunan metni şu şekilde döndürür: bir obje.
Eşleşme bulunamazsa boş bir (null) nesnesi döndürür.
Aşağıdaki örnekte "e" karakteri için bir dize aranır:
/e/.exec("The best things in life are free!");Kendiniz Deneyin →
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Regular Expressions</h2>
<p id="demo"></p>
<script>
const obj = /e/.exec("The best things in life are free!");
document.getElementById("demo").innerHTML =
"Found " + obj[0] + " in position " + obj.index + " in the text: " + obj.input;
</script>
</body>
</html>
Tam bir referans için Tam bölümümüze gidin JavaScript RegExp Referansı.
Referans, tüm RegExp'lerin açıklamalarını ve örneklerini içerir. özellikleri ve yöntemleri.