A reguláris kifejezés olyan karaktersorozat, amely a keresési minta.
A keresési minta szövegkeresésre és szövegcserére használható tevékenységek.
A reguláris kifejezés olyan karaktersorozat, amely keresést alkot mintára.
Amikor szövegben keres adatokat, ezzel a keresési mintával leírhatja, hogy mit keres.
A reguláris kifejezés lehet egyetlen karakter vagy egy bonyolultabb minta.
A reguláris kifejezések minden típusú szöveges keresés végrehajtására használhatók és szövegcsere műveleteket.
/pattern/modifiers;/w3schools/i;Példa magyarázata:
A /w3schools/i egy reguláris kifejezés.
A w3schools egy minta (a keresésben használandó).
Az i egy módosító (módosítja a keresést, hogy ne legyen megkülönböztetve a kis- és nagybetűktől).
A JavaScriptben a reguláris kifejezéseket gyakran használják a két karakterlánccal módszerek: search() és replace().
A search() metódus egy kifejezést használ az a mérkőzést, és visszaadja a mérkőzés pozícióját.
A replace() metódus egy módosított karakterláncot ad vissza, ahol a minta kicserélődik.
search() karakterlánc használata karakterlánccalA search() metódus egy karakterláncban keres egy megadott értéket, és visszaadja az egyezés pozícióját:
Használjon karakterláncot a "W3schools" kifejezésre a karakterláncban:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");Az eredmény nben a következő lesz:
6
Próbálja ki Ön is →
<!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() karakterlánc használata reguláris kifejezésselHasználjon reguláris kifejezést a kis- és nagybetűk közötti különbség nélküli kereséshez a "w3schools" kifejezésre egy karakterláncban:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);Az eredmény nben a következő lesz:
6
Próbálja ki Ön is →
<!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() karakterlánccalA replace() metódus egy megadott értéket egy másik értékre cserél egy karakterláncban:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");Próbálja ki Ön is →
<!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() karakterláncot reguláris kifejezésselHasználjon kis- és nagybetűket nem érzékeny reguláris kifejezést a Microsoft helyére a W3Schools kifejezéssel egy karakterláncban:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");Az eredmény resben a következő lesz:
Visit W3Schools!Próbálja ki Ön is →
<!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>
A fenti metódusokban reguláris kifejezés argumentumai (karakterlánc argumentumok helyett) használhatók.
A reguláris kifejezések sokkal hatékonyabbá tehetik a keresést (például a kis- és nagybetűk megkülönböztetését).
Módosítók használhatók a kis- és nagybetűk megkülönböztetésére irányuló, globálisabb keresések végrehajtására:
Módosító:
iLeírás: Végezze el a kis- és nagybetűk közötti egyezést
Próbáld ki →
<!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>
Módosító:
gLeírás: Végezzen globális egyezést (az összes egyezést keresse meg, ahelyett, hogy az első mérkőzés után megállna)
Próbáld ki →
<!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>
Módosító:
mLeírás: Hajtsa végre a többsoros egyeztetést
Próbáld ki →
<!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>
A zárójelek segítségével számos karaktert kereshet:
Módosító:
[abc]Leírás: Keresse meg bármelyik karaktert a zárójelek között
Próbáld ki →
<!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>
Módosító:
[0-9]Leírás: Keresse meg bármelyik számjegyet a zárójelek között
Próbáld ki →
<!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>
Módosító:
(x|y)Leírás: Keresse meg a | jellel elválasztott alternatívákat
Próbáld ki →
<!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>
A metakarakterek különleges jelentéssel rendelkező karakterek:
Módosító:
\dLeírás: Keressen egy számjegyet
Próbáld ki →
<!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>
Módosító:
\sLeírás: Keressen szóköz karaktert
Próbáld ki →
<!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>
Módosító:
\bLeírás: Keressen egyezést egy szó elején, például: \bWORD, vagy egy szó végén így: WORD\b
Próbáld ki →
<!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>
Próbáld ki →
<!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>
Módosító:
\uxxxxLeírás: Keresse meg a xxxx hexadecimális szám által meghatározott Unicode karaktert
Próbáld ki →
<!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>
A Kvantifikátorok meghatározzák a mennyiségeket:
Módosító:
n+Leírás: Megfelel minden olyan karakterláncnak, amely legalább egy n-et tartalmaz
Próbáld ki →
<!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>
Módosító:
n*Leírás: Megfelel minden olyan karakterláncnak, amely nulla vagy több n előfordulását tartalmazza
Próbáld ki →
<!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>
Módosító:
n?Leírás: Megfelel minden olyan karakterláncnak, amely nulla vagy egy n előfordulását tartalmazza
Próbáld ki →
<!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>
A JavaScript-ben a RegExp objektum egy reguláris kifejezés objektum előre meghatározott tulajdonságok és módszerek.
A test() metódus egy RegExp kifejezési metódus.
Egy karakterláncban keres mintát, és igazat ad vissza vagy hamis, az eredménytől függően.
A következő példa az "e" karakterre keres egy karakterláncot:
const pattern = /e/;
pattern.test("The best things in life are free!");Mivel a karakterláncban "e" van, a fenti kód kimenete a következő lesz:
true
Próbálja ki Ön is →
<!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>
Nem kell először a reguláris kifejezést változóba tenni. A két a fenti sorok eggyel rövidíthetők:
/e/.test("The best things in life are free!");Az exec() metódus egy RegExp kifejezési metódus.
Megkeresi a megadott mintát egy karakterláncban, és a talált szöveget mint egy tárgy.
Ha nem található egyezés, akkor üres (null) objektumot ad vissza.
A következő példa az "e" karakterre keres egy karakterláncot:
/e/.exec("The best things in life are free!");Próbálja ki Ön is →
<!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>
A teljes referenciaért látogasson el a teljes oldalunkra JavaScript RegExp referencia.
A hivatkozás az összes RegExp leírását és példáit tartalmazza tulajdonságait és módszereit.