RegEx: Unterschied zwischen den Versionen

Aus Seobility Wiki
Wechseln zu: Navigation, Suche
(Ähnliche Artikel)
 
(13 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
<seo title="RegEx (Regular Expressions)" metadescription="In diesem Artikel erfährst Du, was Regular Expressions sind und wofür sie angewandt werden." />
+
<seo title="Was ist RegEx? Definition, Bedeutung & Beispiel" metadescription="Die Bezeichnung RegEx ist die Kurzform von Regular Expression und kann mit regulärer Ausdruck ins Deutsche übersetzt werden. Jetzt weiterlesen ..." />
  
 
== Definition ==
 
== Definition ==
  
Die Bezeichnung "RegEx” ist die Kurzform von "Regular Expression" und kann mit "regulärer Ausdruck" ins Deutsche übersetzt werden. Der Begriff stammt aus der theoretischen Informatik und dient in der Praxis dazu, bestimmte Zeichenketten, beispielsweise in einem Text, zu behandeln beziehungsweise zu prüfen.
+
Die Bezeichnung "RegEx” ist die Kurzform von "Regular Expression" und kann mit "regulärer Ausdruck" ins Deutsche übersetzt werden. Der Begriff stammt aus der Informatik und dient in der Praxis dazu, bestimmte Zeichenketten, beispielsweise in einem Text, zu behandeln beziehungsweise zu prüfen.
  
 
Für den Nutzer ist eine solcher Zeichenkettenvergleich oft nicht sichtbar. Wird zum Beispiel eine Suche in einem Text ausgeführt oder ein neues Passwort vergeben, stehen dahinter oft RegEx. So wird eine "Regular Expression" beispielsweise dann angewandt, wenn eine Passwort Policy in einer Software hinterlegt ist, die bestimmte Zeichenkombinationen für Passwörter vorgibt. Für eine solche Passwortregel kann der Ausdruck wie folgt aussehen:  
 
Für den Nutzer ist eine solcher Zeichenkettenvergleich oft nicht sichtbar. Wird zum Beispiel eine Suche in einem Text ausgeführt oder ein neues Passwort vergeben, stehen dahinter oft RegEx. So wird eine "Regular Expression" beispielsweise dann angewandt, wenn eine Passwort Policy in einer Software hinterlegt ist, die bestimmte Zeichenkombinationen für Passwörter vorgibt. Für eine solche Passwortregel kann der Ausdruck wie folgt aussehen:  
Zeile 11: Zeile 11:
 
In dieser Regel stecken zahlreiche Vorgaben, zum Beispiel die Mindestlänge von 8 Zeichen und die Benutzung von Groß- und Kleinbuchstaben. So bedeutet zum Beispiel der Ausdruck <code>.{8,}</code>, dass ein beliebiges Zeichen (symbolisiert durch den Punkt) acht mal oder häufiger vorkommen soll (<code>{8,}</code>).
 
In dieser Regel stecken zahlreiche Vorgaben, zum Beispiel die Mindestlänge von 8 Zeichen und die Benutzung von Groß- und Kleinbuchstaben. So bedeutet zum Beispiel der Ausdruck <code>.{8,}</code>, dass ein beliebiges Zeichen (symbolisiert durch den Punkt) acht mal oder häufiger vorkommen soll (<code>{8,}</code>).
  
[[Datei:RegEx Beispiel.png|link=]]
+
[[Datei:RegEx Beispiel.png|link=|border|alt=RegEx Beispiel|Beispiel einer RegEx]]
  
Abbildung mit RegEx Beispiel, Autor: seobility
+
Abbildung: RegEx Beispiel, Autor: Seobility
  
 
Wie das Beispiel zeigt, sind die Art der Zeichen und ihre Funktionen in RegEx komplex und gleichermaßen leistungsfähig.
 
Wie das Beispiel zeigt, sind die Art der Zeichen und ihre Funktionen in RegEx komplex und gleichermaßen leistungsfähig.
 
Ein weiteres Beispiel für die Benutzung von Regular Expressions im digitalen Alltag ist die sogenannte Wildcard. Das Zeichen "*" steht in zahlreichen Suchanwendungen (z.B. bei Google) für ein beliebiges Zeichen bzw. einen beliebigen Begriff. Dieses eine Zeichen ist vielen Benutzern bekannt, darüber hinaus sind reguläre Ausdrücke dem durchschnittlichen User aber kaum vertraut.
 
  
 
== Zeichen und Pattern - Bestandteile eines RegEx ==
 
== Zeichen und Pattern - Bestandteile eines RegEx ==
  
Einzelne Zeichen beschreiben in einem regulären Ausdruck Funktionen. Eine Gesamtheit solcher Zeichen ergibt das sogenannte Pattern. Dieses Pattern wird auf eine Zeichenkette in einem Text angewandt und gibt zurück, ob diese Zeichenkette die Angaben im Pattern erfüllt oder nicht. Im Anschluss dieser Prüfung kann sowohl bei positiver als auch bei negativer Erfüllung eine beliebige Funktion angeknüpft sein. Ein regulärer Ausdruck wird daher oft in einer Bedingung einer Software-Implementation verwendet.
+
Einzelne Zeichen beschreiben in einem regulären Ausdruck Funktionen. Eine Gesamtheit solcher Zeichen ergibt das sogenannte Pattern. Dieses Pattern wird auf eine Zeichenkette in einem Text angewandt und gibt zurück, ob diese Zeichenkette die Angaben im Pattern erfüllt oder nicht. Im Anschluss dieser Prüfung kann sowohl bei positiver als auch bei negativer Erfüllung eine beliebige Funktion angeknüpft sein. Ein regulärer Ausdruck wird daher oft in einer Bedingung einer Software verwendet.
  
In der Praxis ist dies vor allem für das Suchen und Ersetzen bestimmter Zeichenketten relevant. Vor allem in Standardwerkzeugen zur Serveradministration wie "grep" wird das Suchen und Ersetzen von Zeichenketten benötigt. Hier ist die Nutzung regulärer Ausdrücke seit Beginn der Entwicklung vorgesehen.  
+
In der Praxis ist dies vor allem für das Suchen und Ersetzen bestimmter Zeichenketten relevant. Vor allem in Standardwerkzeugen zur Serveradministration wie "sed" wird das Suchen und Ersetzen von Zeichenketten benötigt. Hier ist die Nutzung regulärer Ausdrücke seit Beginn der Entwicklung vorgesehen.  
  
In den meisten Programmiersprachen, aber auch in Werkzeugen zur Verarbeitung von Text kann ein regulärer Ausdruck ebenfalls verwendet werden, um Anforderungen umzusetzen. Auf diese Weise können komplexe Implementationen von bedingten Funktionen oftmals durch kurze reguläre Ausdrücke und deren Behandlung ersetzt werden.
+
In den meisten Programmiersprachen, aber auch in Werkzeugen zur Verarbeitung von Text kann ein regulärer Ausdruck ebenfalls verwendet werden, um Anforderungen umzusetzen. Auf diese Weise können komplexe Funktionalitäten durch kurze reguläre Ausdrücke und deren Behandlung ersetzt werden.
  
 
== Verkettung von regulären Ausdrücken ==
 
== Verkettung von regulären Ausdrücken ==
Zeile 37: Zeile 35:
 
== Quantoren in einer Regular Expression ==
 
== Quantoren in einer Regular Expression ==
  
Innerhalb einer Regular Expression gibt es weitere Operatoren, die vordefinierte Bedeutungen haben, allen voran die Quantoren. Sie geben Bedingungen für einen Ausdruck an, die die Anzahl eines bestimmten Zeichens oder einer Zeichenkette betreffen. Ein Fragezeichen (?) bedeutet zum Beispiel, dass der vorangegangene Ausdruck in einem Text entweder null mal oder genau einmal vorkommen soll. Dagegen bezeichnet das eingangs bereits erwähnte Wildcard-Zeichen (*) das beliebig häufige Vorkommen des vorangegangenen Ausdrucks. Dazwischen können alle Kombinationen von obligatorischen oder verpflichtenden Vorkommen bestimmter Zeichenketten in einem Ausdruck definiert werden. Dazu steht die Zeichenkombination {n,m} zur Verfügung. Wird n oder m in einem Ausdruck leer gelassen, entspricht das der Bezeichnung "beliebig", n steht für das Minimum der Zeichenanzahl, m für das Maximum. Dieses generische Vorgehen ermöglicht es, jede Anforderung unabhängig von ihrer Praxisbedeutung in einen regulären Ausdruck zu implementieren. Die Anwendung der Regular Expressions in der Praxis erfordert jedoch ein hohes Abstraktionsvermögen.
+
Innerhalb einer Regular Expression gibt es weitere Operatoren, die vordefinierte Bedeutungen haben, allen voran die Quantoren. Sie geben Bedingungen für einen Ausdruck an, die die Anzahl eines bestimmten Zeichens oder einer Zeichenkette betreffen. Ein Fragezeichen (?) bedeutet zum Beispiel, dass der vorangegangene Ausdruck in einem Text entweder null mal oder genau einmal vorkommen soll. Dagegen bezeichnet das Wildcard-Zeichen (*) das beliebig häufige Vorkommen des vorangegangenen Ausdrucks. Dazwischen können alle Kombinationen von obligatorischen oder verpflichtenden Vorkommen bestimmter Zeichenketten in einem Ausdruck definiert werden. Dazu steht die Zeichenkombination {n,m} zur Verfügung. Wird n oder m in einem Ausdruck leer gelassen, entspricht das der Bezeichnung "beliebig", n steht für das Minimum der Zeichenanzahl, m für das Maximum. Dieses generische Vorgehen ermöglicht es, jede Anforderung unabhängig von ihrer Praxisbedeutung in einen regulären Ausdruck zu implementieren. Die Anwendung der Regular Expressions in der Praxis erfordert jedoch ein hohes Abstraktionsvermögen.
  
 
== Weiterführende Ausdrücke ==
 
== Weiterführende Ausdrücke ==
  
Hat man die Grundsätze der regulären Ausdrücke verinnerlicht, lassen sich einfache Ausdrücke schreiben und sicher anwenden. Allerdings kann die Welt der Regular Expressions noch weitaus mehr. So können Suchen zum Beispiel bedingt abgebrochen oder Gruppen von Zeichensätzen rückwärts referenziert werden. Da die Sprache der regulären Ausdrücke für den Menschen nicht lesbar ist und sich die Logik der Ausdrücke nicht intuitiv erschließt, ist die sichere Verwendung der RegEx-Semantik den Experten auf dem Gebiet vorbehalten. Beherrscht man jedoch die regulären Ausdrücke, können damit zahlreiche Anforderungen abgedeckt werden. Die Nutzung der Sprache ermöglicht zum Beispiel eine einfache Webserveradministration oder Verarbeitung von Text.
+
Hat man die Grundsätze der regulären Ausdrücke verinnerlicht, lassen sich einfache Ausdrücke schreiben und sicher anwenden. Allerdings ermöglichen Regular Expressions noch weitaus mehr. So können Suchen zum Beispiel bedingt abgebrochen oder Gruppen von Zeichensätzen rückwärts referenziert werden. Da sich die Logik der regulären Ausdrücke für den Menschen nicht immer intuitiv erschließt, ist die sichere Verwendung der RegEx-Semantik den Experten auf dem Gebiet vorbehalten. Beherrscht man jedoch die regulären Ausdrücke, können damit zahlreiche Anforderungen abgedeckt werden. Die Nutzung der Sprache ermöglicht zum Beispiel eine einfache Webserveradministration oder Verarbeitung von Text.
  
 
== Beispiel einer Regular Expression in der Webserveradministration ==
 
== Beispiel einer Regular Expression in der Webserveradministration ==
  
Ein Beispiel für die Anwendung von regEx Ausdrücken ist das Modul [[Mod rewrite|mod_rewrite]] für den Apache Webserver. Es wird dazu verwendet, eingehende URL-Anfragen auf den entsprechenden Bereich eines Webauftritts umzuleiten. Betrachtet wird dabei die gesamte URL inklusive aller Unterangaben und Parameter.
+
Ein Beispiel für die Anwendung von regEx Ausdrücken ist das Modul [[Mod rewrite|mod_rewrite]] für den Apache Webserver. Es wird dazu verwendet, eingehende [[URL]]-Anfragen auf den entsprechenden Bereich eines Webauftritts umzuleiten. Betrachtet wird dabei die gesamte URL inklusive aller Unterangaben und Parameter.
 +
 
 +
Die Regeln werden in der [[.htaccess]]-Datei des Webservers hinterlegt. Eine Angabe, die dort häufig zu finden ist, lautet:
  
Die Regeln, die für diese Umleitungen bestimmt werden, werden in der .htaccess-Datei des Webservers hinterlegt. Eine Angabe, die dort häufig zu finden ist, lautet:
+
<pre>RewriteEngine on
  
<pre>RewriteEngine on RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1</pre>
+
RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1</pre>
  
Dieser Ausdruck bedeutet, dass sämtliche Anfragen auf eine HTML-Datei auf ein Script umgeleitet werden, wobei die anfragende URL als Parameter mit übergeben wird. Die Syntax dieser Regel basiert auf regulären Ausdrücken, welche die komplexe Steuerung eines Webservers ermöglichen.
+
Dieser Ausdruck bedeutet, dass sämtliche Anfragen auf eine HTML-Datei auf ein Script geleitet werden, wobei die anfragende URL als Parameter mit übergeben wird. Die [[Syntax]] dieser Regel basiert auf regulären Ausdrücken, welche die komplexe Steuerung eines Webservers ermöglichen.
  
 
== Bedeutung der Regular Expression für die SEO ==
 
== Bedeutung der Regular Expression für die SEO ==
  
Das oben beschriebene Modul “mod_rewrite” ist für die Suchmaschinenoptimierung von hoher Bedeutung, da es ermöglicht, dass komplexe dynamische URLs in [[SEO-freundliche URLs|“sprechende” URLs]] umgeschrieben werden. Solche einfachen URLs sind deshalb wichtig, da sie Usern und Suchmaschinen dabei helfen, die inhaltliche Struktur und Hierarchie einer Website zu verstehen. Aus diesem Grund ist die Kenntnis der Regular Expressions auch im Bereich der Suchmaschinenoptimierung vorteilhaft.
+
Das oben beschriebene Modul “mod_rewrite” ist für die Suchmaschinenoptimierung von hoher Bedeutung, da es ermöglicht, dass komplexe dynamische URLs in [[SEO-freundliche URLs|“sprechende” URLs]] umgeschrieben werden. Solche einfachen URLs sind deshalb wichtig, da sie Usern und Suchmaschinen dabei helfen, die inhaltliche [[Website-Struktur|Struktur]] und Hierarchie einer Website zu verstehen. Aus diesem Grund ist die Kenntnis der Regular Expressions auch im Bereich der Suchmaschinenoptimierung vorteilhaft.
  
 
== Weiterführende Links ==
 
== Weiterführende Links ==
Zeile 69: Zeile 69:
  
 
[[Kategorie:Web Entwicklung]]
 
[[Kategorie:Web Entwicklung]]
 +
 +
{| class="wikitable" style="text-align:left"
 +
|-
 +
|'''Über den Autor'''
 +
|-
 +
| [[File:Seobility S.jpg|link=|100px|left|alt=Seobility S]] Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. <html><a href="https://www.seobility.net/de/wiki/Seobility_Wiki_Team" target="_blank">Mehr Informationen über das Seobility Wiki Team</a></html>.
 +
|}
 +
 +
<html><script type="application/ld+json">
 +
{
 +
  "@context": "https://schema.org",
 +
  "@type": "Article",
 +
  "author": {
 +
    "@type": "Organization",
 +
    "name": "Seobility",
 +
    "url": "https://www.seobility.net/"
 +
  }
 +
}
 +
</script></html>

Aktuelle Version vom 23. Januar 2024, 16:48 Uhr

Definition

Die Bezeichnung "RegEx” ist die Kurzform von "Regular Expression" und kann mit "regulärer Ausdruck" ins Deutsche übersetzt werden. Der Begriff stammt aus der Informatik und dient in der Praxis dazu, bestimmte Zeichenketten, beispielsweise in einem Text, zu behandeln beziehungsweise zu prüfen.

Für den Nutzer ist eine solcher Zeichenkettenvergleich oft nicht sichtbar. Wird zum Beispiel eine Suche in einem Text ausgeführt oder ein neues Passwort vergeben, stehen dahinter oft RegEx. So wird eine "Regular Expression" beispielsweise dann angewandt, wenn eine Passwort Policy in einer Software hinterlegt ist, die bestimmte Zeichenkombinationen für Passwörter vorgibt. Für eine solche Passwortregel kann der Ausdruck wie folgt aussehen:

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

In dieser Regel stecken zahlreiche Vorgaben, zum Beispiel die Mindestlänge von 8 Zeichen und die Benutzung von Groß- und Kleinbuchstaben. So bedeutet zum Beispiel der Ausdruck .{8,}, dass ein beliebiges Zeichen (symbolisiert durch den Punkt) acht mal oder häufiger vorkommen soll ({8,}).

RegEx Beispiel

Abbildung: RegEx Beispiel, Autor: Seobility

Wie das Beispiel zeigt, sind die Art der Zeichen und ihre Funktionen in RegEx komplex und gleichermaßen leistungsfähig.

Zeichen und Pattern - Bestandteile eines RegEx

Einzelne Zeichen beschreiben in einem regulären Ausdruck Funktionen. Eine Gesamtheit solcher Zeichen ergibt das sogenannte Pattern. Dieses Pattern wird auf eine Zeichenkette in einem Text angewandt und gibt zurück, ob diese Zeichenkette die Angaben im Pattern erfüllt oder nicht. Im Anschluss dieser Prüfung kann sowohl bei positiver als auch bei negativer Erfüllung eine beliebige Funktion angeknüpft sein. Ein regulärer Ausdruck wird daher oft in einer Bedingung einer Software verwendet.

In der Praxis ist dies vor allem für das Suchen und Ersetzen bestimmter Zeichenketten relevant. Vor allem in Standardwerkzeugen zur Serveradministration wie "sed" wird das Suchen und Ersetzen von Zeichenketten benötigt. Hier ist die Nutzung regulärer Ausdrücke seit Beginn der Entwicklung vorgesehen.

In den meisten Programmiersprachen, aber auch in Werkzeugen zur Verarbeitung von Text kann ein regulärer Ausdruck ebenfalls verwendet werden, um Anforderungen umzusetzen. Auf diese Weise können komplexe Funktionalitäten durch kurze reguläre Ausdrücke und deren Behandlung ersetzt werden.

Verkettung von regulären Ausdrücken

RegEx Ausdrücke können verkettet werden und so komplexe Anforderungen an eine Zeichenkette wiedergeben. Dabei gibt es sogenannte Operatoren, die die regulären Ausdrücke miteinander verbinden. Hierzu zählt beispielsweise die Beschreibung der Alternative, die mit "|" umgesetzt wird. Sie entspricht dem Oder-Operator aus der Logik.

Die aus der Logik bekannte "Und"-Verknüpfung wird bei Regular Expressions Konkatenation oder Verkettung genannt und ohne weiteres Zeichen als Operator durch ledigliches Aneinanderreihen von Ausdrücken gekennzeichnet.

Durch ein solches Verknüpfen verschiedener RexEx Ausdrücke können mit nur wenigen Zeichen komplexe Abfrage-Mechanismen realisiert werden.

Quantoren in einer Regular Expression

Innerhalb einer Regular Expression gibt es weitere Operatoren, die vordefinierte Bedeutungen haben, allen voran die Quantoren. Sie geben Bedingungen für einen Ausdruck an, die die Anzahl eines bestimmten Zeichens oder einer Zeichenkette betreffen. Ein Fragezeichen (?) bedeutet zum Beispiel, dass der vorangegangene Ausdruck in einem Text entweder null mal oder genau einmal vorkommen soll. Dagegen bezeichnet das Wildcard-Zeichen (*) das beliebig häufige Vorkommen des vorangegangenen Ausdrucks. Dazwischen können alle Kombinationen von obligatorischen oder verpflichtenden Vorkommen bestimmter Zeichenketten in einem Ausdruck definiert werden. Dazu steht die Zeichenkombination {n,m} zur Verfügung. Wird n oder m in einem Ausdruck leer gelassen, entspricht das der Bezeichnung "beliebig", n steht für das Minimum der Zeichenanzahl, m für das Maximum. Dieses generische Vorgehen ermöglicht es, jede Anforderung unabhängig von ihrer Praxisbedeutung in einen regulären Ausdruck zu implementieren. Die Anwendung der Regular Expressions in der Praxis erfordert jedoch ein hohes Abstraktionsvermögen.

Weiterführende Ausdrücke

Hat man die Grundsätze der regulären Ausdrücke verinnerlicht, lassen sich einfache Ausdrücke schreiben und sicher anwenden. Allerdings ermöglichen Regular Expressions noch weitaus mehr. So können Suchen zum Beispiel bedingt abgebrochen oder Gruppen von Zeichensätzen rückwärts referenziert werden. Da sich die Logik der regulären Ausdrücke für den Menschen nicht immer intuitiv erschließt, ist die sichere Verwendung der RegEx-Semantik den Experten auf dem Gebiet vorbehalten. Beherrscht man jedoch die regulären Ausdrücke, können damit zahlreiche Anforderungen abgedeckt werden. Die Nutzung der Sprache ermöglicht zum Beispiel eine einfache Webserveradministration oder Verarbeitung von Text.

Beispiel einer Regular Expression in der Webserveradministration

Ein Beispiel für die Anwendung von regEx Ausdrücken ist das Modul mod_rewrite für den Apache Webserver. Es wird dazu verwendet, eingehende URL-Anfragen auf den entsprechenden Bereich eines Webauftritts umzuleiten. Betrachtet wird dabei die gesamte URL inklusive aller Unterangaben und Parameter.

Die Regeln werden in der .htaccess-Datei des Webservers hinterlegt. Eine Angabe, die dort häufig zu finden ist, lautet:

RewriteEngine on 

RewriteRule (.*)\.html$ /cgi-bin/script.pl?var=$1

Dieser Ausdruck bedeutet, dass sämtliche Anfragen auf eine HTML-Datei auf ein Script geleitet werden, wobei die anfragende URL als Parameter mit übergeben wird. Die Syntax dieser Regel basiert auf regulären Ausdrücken, welche die komplexe Steuerung eines Webservers ermöglichen.

Bedeutung der Regular Expression für die SEO

Das oben beschriebene Modul “mod_rewrite” ist für die Suchmaschinenoptimierung von hoher Bedeutung, da es ermöglicht, dass komplexe dynamische URLs in “sprechende” URLs umgeschrieben werden. Solche einfachen URLs sind deshalb wichtig, da sie Usern und Suchmaschinen dabei helfen, die inhaltliche Struktur und Hierarchie einer Website zu verstehen. Aus diesem Grund ist die Kenntnis der Regular Expressions auch im Bereich der Suchmaschinenoptimierung vorteilhaft.

Weiterführende Links

Ähnliche Artikel

Über den Autor
Seobility S
Das Seobility Wiki Team besteht aus SEO-, Online-Marketing- und Web-Experten mit praktischer Erfahrung in den Bereichen Suchmaschinenoptimierung, Online-Marketing und Webentwicklung. Alle unsere Artikel durchlaufen einen mehrstufigen Redaktionsprozess, um Dir die bestmögliche Qualität und wirklich hilfreiche Informationen bieten zu können. Mehr Informationen über das Seobility Wiki Team.

Überprüfen Sie Ihre Webseite mit
dem SEO Check!