JavaScript RegExp objektum


Tartalomjegyzék

    Tartalomjegyzék megjelenítése


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.


Mi az a reguláris kifejezés?

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.

Szintaxis

/pattern/modifiers;

Példa

/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).


String metódusok használata

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.


A search() karakterlánc használata karakterlánccal

A search() metódus egy karakterláncban keres egy megadott értéket, és visszaadja az egyezés pozícióját:

Példa

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 &quot;W3Schools&quot;, 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>


A search() karakterlánc használata reguláris kifejezéssel

Példa

Haszná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>



Karakterlánc használata replace() karakterlánccal

A 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 &quot;Microsoft&quot; with &quot;W3Schools&quot; 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>



Használja a replace() karakterláncot reguláris kifejezéssel

Példa

Haszná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>

Észrevetted?

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).


Reguláris kifejezés módosítók

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ó:

i

Leí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ó:

g

Leí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ó:

m

Leí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>

Reguláris kifejezési minták

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ó:

\d

Leí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ó:

\s

Leí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ó:

\b

Leí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ó:

\uxxxx

Leí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 RegExp objektum használata

A JavaScript-ben a RegExp objektum egy reguláris kifejezés objektum előre meghatározott tulajdonságok és módszerek.


A teszt() használata

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:

Példa

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() használata

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:

Példa

/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>

Teljes RegExp Referencia

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.