JavaScript-RegExp-Objekt


Inhaltsverzeichnis

    Inhaltsverzeichnis anzeigen


Ein regulärer Ausdruck ist eine Folge von Zeichen, die a bildet Suchmuster.

Das Suchmuster kann für die Textsuche und Textersetzung verwendet werden Operationen.


Was ist ein regulärer Ausdruck?

Ein regulärer Ausdruck ist eine Zeichenfolge, die eine Suche bildet Muster.

Wenn Sie in einem Text nach Daten suchen, können Sie dieses Suchmuster verwenden, um zu beschreiben, wonach Sie suchen.

Ein regulärer Ausdruck kann ein einzelnes Zeichen oder ein komplizierteres Muster sein.

Mit regulären Ausdrücken können alle Arten der Textsuche durchgeführt werden und Textersetzung-Operationen.

Syntax

/pattern/modifiers;

Beispiel

/w3schools/i;

Beispiel erklärt:

/w3schools/i ist ein regulärer Ausdruck.

w3schools ist ein Muster (zur Verwendung in einer Suche).

i ist ein Modifikator (ändert die Suche so, dass die Groß-/Kleinschreibung nicht beachtet wird).


Verwenden von String-Methoden

In JavaScript werden reguläre Ausdrücke häufig mit den beiden Zeichenfolgen verwendet Methoden: search() und replace().

Die Methode search() verwendet einen Ausdruck, um nach einem zu suchen Übereinstimmung und gibt die Position der Übereinstimmung zurück.

Die Methode replace() gibt eine geänderte Zeichenfolge zurück, wobei die Muster wird ersetzt.


Verwenden von String search() mit einem String

Die Methode search() durchsucht eine Zeichenfolge nach einem angegebenen Wert und gibt die Position der Übereinstimmung zurück:

Beispiel

Verwenden Sie eine Zeichenfolge, um in einer Zeichenfolge nach „W3schools“ zu suchen:

let text = "Visit W3Schools!";
let n = text.search("W3Schools");

Das Ergebnis in n wird sein:

6

Probieren Sie es selbst aus →

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


Verwenden von String search() mit einem regulären Ausdruck

Beispiel

Verwenden Sie einen regulären Ausdruck, um eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung nach „w3schools“ in einer Zeichenfolge durchzuführen:

let text = "Visit W3Schools";
let n = text.search(/w3schools/i);

Das Ergebnis in n wird sein:

6

Probieren Sie es selbst aus →

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



Verwenden von String replace() mit einem String

Die Methode replace() ersetzt einen angegebenen Wert durch einen anderen Wert in einer Zeichenfolge:

let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");

Probieren Sie es selbst aus →

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



Verwenden Sie String replace() mit einem regulären Ausdruck

Beispiel

Verwenden Sie einen regulären Ausdruck ohne Berücksichtigung der Groß- und Kleinschreibung, um Microsoft durch W3Schools zu ersetzen in einer Zeichenfolge:

let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");

Das Ergebnis in res wird sein:

Visit W3Schools!

Probieren Sie es selbst aus →

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

Hast du bemerkt?

In den oben genannten Methoden können reguläre Ausdrucksargumente (anstelle von Zeichenfolgenargumenten) verwendet werden.
Reguläre Ausdrücke können Ihre Suche wesentlich leistungsfähiger machen (z. B. ohne Berücksichtigung der Groß- und Kleinschreibung).


Modifikatoren für reguläre Ausdrücke

Modifikatoren können verwendet werden, um eine globalere Suche ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen:

Modifikator:

i

Beschreibung: Führen Sie einen Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung durch

Probieren Sie es aus →

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

Modifikator:

g

Beschreibung: Führen Sie eine globale Übereinstimmung durch (finden Sie alle Übereinstimmungen, anstatt nach der ersten Übereinstimmung anzuhalten).

Probieren Sie es aus →

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

Modifikator:

m

Beschreibung: Führen Sie einen mehrzeiligen Abgleich durch

Probieren Sie es aus →

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

Muster regulärer Ausdrücke

Klammern werden verwendet, um eine Reihe von Zeichen zu finden:

Modifikator:

[abc]

Beschreibung: Suchen Sie nach einem der Zeichen zwischen den Klammern

Probieren Sie es aus →

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

Modifikator:

[0-9]

Beschreibung: Suchen Sie eine beliebige Ziffer zwischen den Klammern

Probieren Sie es aus →

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

Modifikator:

(x|y)

Beschreibung: Finden Sie eine der durch | getrennten Alternativen

Probieren Sie es aus →

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

Metazeichen sind Zeichen mit einer besonderen Bedeutung:

Modifikator:

\d

Beschreibung: Finden Sie eine Ziffer

Probieren Sie es aus →

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

Modifikator:

\s

Beschreibung: Suchen Sie ein Leerzeichen

Probieren Sie es aus →

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

Modifikator:

\b

Beschreibung: Finden Sie eine Übereinstimmung am Anfang eines Worts wie diesem: \bWORD oder am Ende eines Wortes so: WORD\b

Probieren Sie es aus →

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

Probieren Sie es aus →

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

Modifikator:

\uxxxx

Beschreibung: Suchen Sie das durch die Hexadezimalzahl xxxx angegebene Unicode-Zeichen

Probieren Sie es aus →

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

Quantoren definieren Mengen:

Modifikator:

n+

Beschreibung: Entspricht jeder Zeichenfolge, die mindestens ein n enthält

Probieren Sie es aus →

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

Modifikator:

n*

Beschreibung: Entspricht jeder Zeichenfolge, die kein oder mehr Vorkommen von n enthält

Probieren Sie es aus →

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

Modifikator:

n?

Beschreibung: Entspricht jeder Zeichenfolge, die kein oder ein Vorkommen von n enthält

Probieren Sie es aus →

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

Verwenden des RegExp-Objekts

In JavaScript ist das RegExp-Objekt ein reguläres Ausdrucksobjekt mit vordefinierte Eigenschaften und Methoden.


Verwendung von test()

Die Methode test() ist eine RegExp-Ausdrucksmethode.

Es durchsucht eine Zeichenfolge nach einem Muster und gibt true zurück oder falsch, abhängig vom Ergebnis.

Das folgende Beispiel durchsucht eine Zeichenfolge nach dem Zeichen „e“:

Beispiel

const pattern = /e/;
pattern.test("The best things in life are free!");

Da die Zeichenfolge ein „e“ enthält, lautet die Ausgabe des obigen Codes:

true

Probieren Sie es selbst aus →

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

Sie müssen den regulären Ausdruck nicht zuerst in eine Variable einfügen. Die Zwei Die obigen Zeilen können auf eine gekürzt werden:

/e/.test("The best things in life are free!");

Verwendung von exec()

Die Methode exec() ist eine RegExp-Ausdrucksmethode.

Es durchsucht eine Zeichenfolge nach einem angegebenen Muster und gibt den gefundenen Text als zurück ein Objekt.

Wenn keine Übereinstimmung gefunden wird, wird ein leeres (null)-Objekt zurückgegeben.

Das folgende Beispiel durchsucht eine Zeichenfolge nach dem Zeichen „e“:

Beispiel

/e/.exec("The best things in life are free!");

Probieren Sie es selbst aus →

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

Vollständige RegExp-Referenz

Eine vollständige Referenz finden Sie in unserem Complete JavaScript-RegExp-Referenz.

Die Referenz enthält Beschreibungen und Beispiele aller RegExp Eigenschaften und Methoden.