UTM/APP/Regex: Unterschied zwischen den Versionen

Aus Securepoint Wiki
Wechseln zu:Navigation, Suche
K
 
(39 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{v11}}
+
{{Set_lang}}
 +
{{var|display| Reguläre Ausdrücke
 +
| Regular expressions}}
 +
{{var|1| Syntax und Anwendung von Regex-Ausdrücken
 +
|Syntax and usage of Regex expressions }}
 +
{{var|2| Letzte Anpassung zur Version:
 +
|Last adaptation to the version: }}
 +
{{var|3| Änderungen:
 +
|Modifications }}
 +
{{var|3b| Artikelanpassung
 +
| Article adaptation}}
 +
{{var|3c| Übersetzung
 +
| Translation}}
 +
{{var|4| Einleitung
 +
|Introductory remarks }}
 +
{{var|5| Bei der Konfiguration der UTM werden für mehrere Anwendungen '''reguläre Ausdrücke (kurz Regex)''' benötigt. Ein Regex wird dazu verwendet, um eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTM erklärt.
 +
| Bei der Konfiguration der UTM werden für mehrere Anwendungen '''reguläre Ausdrücke (kurz Regex)''' benötigt. Ein Regex wird dazu verwendet, um eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTM erklärt.}}
 +
{{var|6| Zusammensetzung
 +
| Composition}}
 +
{{var|7 | Innerhalb des Regex werden folgende Zeichen verwendet:
 +
| Within the Regex the following characters are used:}}
 +
{{var|8| steht für ein beliebiges Zeichen
 +
|Represents any character }}
 +
{{var|9| matcht auf alle Buchstaben in den Klammern: '''a, b''' oder '''c'''
 +
|matches all letters in brackets: '''a, b''' or '''c'''' }}
 +
{{var|10| matcht auf alle Buchstaben '''außer''': a, b oder c
 +
| matches all letters '''except''': a, b or c}}
 +
{{var|11| matcht auf alle Buchstaben von: a bis z
 +
| matches all letters from: a to z}}
 +
{{var|12| matcht auf alle Buchstaben von: a bis z oder A bis Z
 +
| matches all letters from: a to z or A to Z}}
 +
{{var|13| Steht für den Beginn einer Zeile
 +
| Represents the beginning of a line.}}
 +
{{var|14| steht für das Ende einer Zeile
 +
| Represents the end of a line.}}
 +
{{var|15| steht für ein Leerzeichen
 +
| Represents a blank character.}}
 +
{{var|16| hebt die Regex-Funktion des nächsten Zeichens auf und "sucht" somit nach dem folgenden Zeichen
 +
| disables the Regex function of the next character and "searches" for the following character}}
 +
{{var|17| ist ein Return oder ein Linefeed (Windows neue Zeile)
 +
| is a Return or a Linefeed (Windows new line)}}
 +
{{var|18| wiederholt das vorherige Zeichen beliebig oft - auch 0 Mal
 +
| repeats the previous character any number of times - also 0 times}}
 +
{{var|19| wiederholt das vorherige Zeichen beliebig oft - mindestens 1 Mal
 +
| repeats the previous character any number of times - at least 1 time}}
 +
{{var|20 | steht für das vorherige Zeichen, 1 Mal
 +
| Represents the previous character, 1 time}}
 +
{{var|21| steht für das vorherige Zeichen, 2 bis 4 Mal nacheinander
 +
| Represents the previous character, 2 to 4 times sequentially.}}
 +
{{var|22| steht für das vorherige Zeichen, mindestens 3 Mal
 +
| Represents the previous character, at least 3 times}}
 +
{{var|23| steht für alles außer einem Doppelpunkt
 +
| Represents everything but a colon}}
 +
{{var|24| Beispiele
 +
| Examples}}
 +
{{var|25| Beispiel 1
 +
| Example 1}}
 +
{{var|26| Im Beispiel wird der eingegebene Wert eines Textfeldes geprüft. In dem Textfeld soll die Hausnummer eingetragen werden. Durch die vorher definierte Stadt bleiben nur Hausnummern von 1 bis 9 und Adresszusätze von a bis f.
 +
| In the example, the entered value of a text field is checked. The house number is to be entered in the text field. Due to the previously defined city, only house numbers from 1 to 9 and address additions from a to f remain.}}
 +
{{var|27| Der Regex für diesen Fall würde so aussehen:
 +
| The regex for this case would look like this:}}
 +
{{var|28| Wird der Adresszusatz, also a-f groß geschrieben, würde dieser Regex nicht matchen. Damit groß geschriebene Buchstaben erfasst werden, müsste der Regex so aussehen:
 +
| If the address addition, a-f, is capitalized, this regex would not match. The regex should look like this so that upper case letters are captured:}}
 +
{{var|29| Um die Groß- UND Kleinschreibung zuzulassen, müsste der Regex so aussehen:
 +
| To allow upper AND lower case, the regex should look like this:}}
 +
{{var|30| Beispiel 2
 +
| Example 2}}
 +
{{var|31| Im  Beispiel soll der Regex auf alle zusammenhängenden Wörter matchen, welche auf '''point''' enden.
 +
| In the example, the regex should match all contiguous words ending in '''point'''.}}
 +
{{var|32| checkpoint
 +
| checkpoint}}
 +
{{var|33| mountpoint
 +
| mountpoint}}
 +
{{var|34| securepoint
 +
| securepoint}}
 +
{{var|35| Ein Regex der auf alle genannten Wörter matcht sieht so aus:
 +
| A Regex that matches all of these words looks like this:}}
 +
{{var|36| Praktisch würde auch folgendes vom Regex erfasst werden:
 +
| In practice, the following would also be covered by the Regex:}}
 +
{{var|37| das ist kein point
 +
| That's not a point.}}
 +
{{var|38| Um das Verhalten zu unterbinden, müsste folgender Regex verwendet werden:
 +
| To prevent this behavior, the following regex would have to be used:}}
 +
{{var|39| Beispiel 3 - URL-Regex
 +
| Example 3 - URL-Regex}}
 +
{{var|40| Im URL-Beispiel soll auf www.securepoint.de gematcht werden.
 +
| In the URL example, you want to match on www.securepoint.de .}}
 +
{{var|41| Folgender Regex wäre korrekt:
 +
| The following regex would be correct:}}
 +
{{var|42| Die beiden Punkte innerhalb der URL stehen bei einem Regex normalerweise für ein beliebiges Zeichen. Am Beispiel der URL soll jedoch auf genau diesen Punkt gematcht werden und nicht auf ein beliebiges Zeichen. Wie oben bereits erwähnt, hebt der Backslash '''<code>\</code>''' die Regex-Funktion des folgenden Zeichens auf. So kann auch auf den Punkt gematcht werden. In einem solchen Fall wird vom "escapen" eines Zeichens gesprochen.
 +
| The two dots within the URL usually stand for any character in a regex. Using the example of the URL, however, the match should be made to exactly this point and not to any arbitrary character. As mentioned above, the backslash '''<code>\</code>'''' overrides the regex function of the next character. So you can also match to the point. This is called ''escaping'' a character.}}
 +
{{var|43| Anwendungsbereiche von Regexen
 +
| Usage of Regex}}
 +
{{var|44| HTTP-Proxy: Virenscanner
 +
| HTTP proxy: virus scanner}}
 +
{{var|45| Soll beispielsweise die URL '''<nowiki>http://download.windowsupdate.com</nowiki>''' in die Whitelist des Virenscanners aufgenommen werden, ist es sehr wichtig, dass letztendlich '''genau diese''' URL in die Whitelist aufgenommen wird.
 +
| If, for example, the URL '''<nowiki>http://download.windowsupdate.com</nowiki>''' is to be included in the whitelist of the virus scanner, it is very important that '''exactly this''' URL is finally included in the whitelist.}}
 +
{{var|46| Der passende Regex lautet also:
 +
| So the matching regex is:}}
 +
{{var|47| Alternativ kann auf alle Protokolle gematcht werden. So zu finden in den vordefinierten Ausnahmen des Virenscanners:
 +
| Alternatively, all protocols can be matched. This can be found in the predefined exceptions of the virus scanner:}}
 +
{{var|48| Beispiel:
 +
| Example:}}
 +
{{var|49| Eine Sammlung von verschiedenen Virenscanner-Regex-Ausdrücken sind in [[UTM/APP/HTTP_Proxy-Virenscanner|diesem Beitrag]] zu finden.
 +
| A collection of different virus scanner Regex expressions can be found in [[UTM/APP/HTTP_Proxy-Virenscanner|emotion]]].}}
 +
{{var|50| HTTP-Proxy: Authentifizierungsausnahmen
 +
| HTTP proxy: authentication exceptions}}
 +
{{var|51| In den Authentifizierungsausnahmen des Proxy muss das Protokoll nicht angegeben werden. Hier wird einfach die URL ohne Protokoll als Regex angegeben:
 +
| The protocol does not have to be specified in the proxy's authentication exceptions. Here the URL without protocol is simply specified as Regex:}}
 +
{{var|52| HTTP-Proxy: SSL-Interception
 +
| HTTP-proxy: SSL-interception}}
 +
{{var|53| Bei der SSL-Interception wird das selbe Prinzip wie bei den Authentifizierungsausnahmen angewendet. Die URL wird ohne Protokoll als Regex angegeben.
 +
| The SSL interception uses the same principle as the authentication exceptions. The URL is specified as Regex without a protocol.}}
  
[[Kategorie:UTMv11]]
+
</div>{{DISPLAYTITLE:{{#var:display|Reguläre Ausdrücke}}}}{{Select_lang}}{{TOC2}}
 +
<p>'''{{#var:1|Syntax und Anwendung von Regex-Ausdrücken}}'''</p>
 +
{{#var:2|Letzte Anpassung zur Version:}} '''11.8'''
 +
<br>
 +
{{cl|{{#var:3|Änderungen:}}|
 +
* {{#var:3b|Artikelanpassung}}
 +
* {{#var:3c|Übersetzung}} 
 +
| w=80px }}
 +
<br>
 +
----
  
'''Regex'''<br>
+
=== {{#var:4|Einleitung}} ===
 +
{{#var:5|Bei der Konfiguration der UTM werden für mehrere Anwendungen '''reguläre Ausdrücke (kurz Regex)''' benötigt. Ein Regex wird dazu verwendet, um eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTM erklärt.}}
  
 +
=== {{#var:6|Zusammensetzung}} ===
 +
{{#var:7|Innerhalb des Regex werden folgende Zeichen verwendet.}}<br>
 +
{| class="top"
 +
|-
 +
| style="min-width: 70px;" | '''<code>.</code>''' || {{#var:8|steht für ein beliebiges Zeichen}}
 +
|-
 +
| '''<code>[abc]</code>''' || {{#var:9|matcht auf alle Buchstaben in den Klammern: '''a, b''' oder '''c'''}}
 +
|-
 +
| '''<code>[^abc]</code>''' || {{#var:10|matcht auf alle Buchstaben '''außer''': a, b oder c}}
 +
|-
 +
|'''<code>[a-z]</code>''' || {{#var:11|matcht auf alle Buchstaben von: a bis z}}<br>
 +
|-
 +
| '''<code>[a-zA-Z]</code>''' || {{#var:12|matcht auf alle Buchstaben von: a bis z oder A bis Z}}
 +
|-
 +
|'''<code>^</code>''' || {{#var:13|Steht für den Beginn einer Zeile}}
 +
|-
 +
| '''<code>$</code>'''||  {{#var:14|steht für das Ende einer Zeile}}
 +
|-
 +
| '''<code>\s</code>''' || {{#var:15|steht für ein Leerzeichen}}
 +
|-
 +
| '''<code>\</code>''' || {{#var:16|hebt die Regex-Funktion des nächsten Zeichens auf und "sucht" somit nach dem folgenden Zeichen}}
 +
|-
 +
| '''<code>\r\n</code>''' || {{#var:17|ist eine Return oder eine Linefeed (Windows neue Zeile)}}
 +
|-
 +
| '''<code>*</code>''' || {{#var:18|wiederholt das vorherige Zeichen beliebig oft - auch 0 Mal}}
 +
|-
 +
| '''<code>+</code>''' || {{#var:19|wiederholt das vorherige Zeichen beliebig oft - mindestens 1 Mal}}
 +
|-
 +
| '''<code>{1}</code>''' || {{#var:20|steht für das vorherige Zeichen, 1 Mal}}
 +
|-
 +
| '''<code>{2,4}</code>''' || {{#var:21|steht für das vorherige Zeichen, 2 bis 4 Mal nacheinander}}
 +
|-
 +
| '''<code>{3,}</code>''' || {{#var:22|steht für das vorherige Zeichen, mindestens 3 Mal}}
 +
|-
 +
| '''<code>[^:]</code>''' || {{#var:23|steht für alles außer einem Doppelpunkt}}
 +
|}
 +
<br>
  
'''Wichtige Information'''
+
=== {{#var:24|Beispiele}} ===
 +
==== {{#var:25|Beispiel 1}} ====
 +
{{#var:26|Im Beispiel wird der eingegebene Wert eines Textfeldes geprüft. In dem Textfeld soll die Hausnummer eingetragen werden. Durch die vorher definierte Stadt bleiben nur Hausnummern von 1 bis 9 und Adresszusätze von a bis f.}} <br>
 +
{{#var:27|Der Regex für diesen Fall würde so aussehen:}}<br>
 +
'''<code>[1-9][a-f]</code>'''<br><br>
 +
{{#var:28|Wird der Adresszusatz, also a-f groß geschrieben, würde dieser Regex nicht matchen. Damit groß geschriebene Buchstaben erfasst werden, müsste der Regex so aussehen:}}<br>
 +
'''<code>[1-9][A-F]</code>'''<br><br>
 +
{{#var:29|Um die Groß- UND Kleinschreibung zuzulassen, müsste der Regex so aussehen:}}<br>
 +
'''<code>[1-9][a-fA-F]</code>'''<br><br>
  
'''Aktuelle Software'''<br>
+
==== {{#var:30|Beispiel 2}} ====
Installieren Sie immer die neueste Version der Software. Nur in der aktuellen Version sind die neusten Funktionen, Sicherheits-Erweiterungen und Fehlerkorrekturen enthalten.
+
{{#var:31|Im  Beispiel soll der Regex auf alle zusammenhängenden Wörter matchen, welche auf '''point''' enden.}}<br>
 +
{{#var:32|checkpoint}}<br>
 +
{{#var:33|mountpoint}}<br>
 +
{{#var:34|securepoint}}<br><br>
 +
{{#var:35|Ein Regex der auf alle genannten Wörter matcht sieht so aussehen:}}<br>
 +
'''<code>.*point</code>'''<br><br>
 +
{{#var:36|Praktisch würde auch folgendes vom Regex erfasst werden:}}<br>
 +
'''{{#var:37|das ist kein point}}'''<br><br>
 +
{{#var:38|Um das Verhalten zu unterbinden, müsste folgender Regex verwendet werden:}}<br>
 +
'''<code>[a-zA-Z]*point</code>'''
  
Für weiterführende Informationen, kontaktieren sie unseren Support:<br>
+
==== {{#var:39|Beispiel 3 - URL-Regex}} ====
E-Mail: [mailto:support@securepoint.de support@securepoint.de]<br>
+
{{#var:40|Im URL-Beispiel soll auf www.securepoint.de gematcht werden.}}<br>
Telefon: 04131 2401 0
+
{{#var:41|Folgender Regex wäre korrekt:}}<br>
 +
'''\.securepoint\.de'''<br><br>
 +
{{#var:42|Die beiden Punkte innerhalb der URL stehen bei einem Regex normalerweise für ein beliebiges Zeichen. Am Beispiel der URL soll jedoch auf genau diesen Punkt gematcht werden und nicht auf ein beliebiges Zeichen. Wie oben bereits erwähnt, hebt der Backslash '''<code>\</code>''' die Regex-Funktion des folgenden Zeichens auf. So kann auch auf den Punkt gematcht werden. In einem solchen Fall wird vom "escapen" eines Zeichens gesprochen.}}<br>
  
Oder nutzen Sie unser Support Portal:<br>
+
=== {{#var:43|Anwendungsbereiche von Regexen}} ===
[http://support.securepoint.de/ http://support.securepoint.de]
+
==== {{#var:44|HTTP-Proxy: Virenscanner}} ====
 
+
{{#var:45|Soll beispielsweise die URL '''<nowiki>http://download.windowsupdate.com</nowiki>''' in die Whitelist des Virenscanners aufgenommen werden, ist es sehr wichtig, dass letztendlich '''genau diese''' URL in die Whitelist aufgenommen wird.}}<br><br>
 
+
'''{{#var:46|Der passende Regex lautet also:}}'''<br>
= Einleitung =
+
'''<code><nowiki>http://download\.windowsupdate\.com/</nowiki></code>'''
Bei der Konfiguration der UTM stößt man an gleich mehreren Stellen auf die Verwendung von regulären Ausdrücken (Regex). Ein Regex wird dazu verwendet, eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTMv11 erklärt.
+
<br>
 +
{{#var:47|Alternativ kann auf alle Protokolle gematcht werden. So zu finden in den vordefinierten Ausnahmen des Virenscanners:}}<br>
 +
'''{{#var:48|Beispiel:}} <code><nowiki>^[^:]*://download\.windowsupdate\.com/</nowiki></code>'''
  
== Zusammensetzung ==
 
Grundlage dieses Wikis ist der Regex '''//'''. Der erste Slash steht für den Beginn des Regex und der zweite für das Ende des Regex. Innerhalb des Regex werden folgende Zeichen verwendet.<br>
 
'''.''' steht für ein beliebiges Zeichen<br>
 
'''[abc]''' matcht auf alle Buchstaben in den Klammern: a, b oder c<br>
 
'''[^abc]''' matcht auf alle Buchstaben bis: a, b oder c<br>
 
'''[a-z]''' matcht auf alle Buchstaben von: a bis z<br>
 
'''[a-zA-Z]''' matcht auf alle Buchstaben von: a bis z oder A bis Z<br>
 
'''^''' steht für den Beginn einer Zeile<br>
 
'''$''' steht für das Ende einer Zeile<br>
 
'''\s''' steht für ein Leerzeichen<br>
 
'''\''' hebt die Regex-Funktion des nächsten Zeichens auf und "sucht" somit nach dem folgenden Zeichen<br>
 
'''\r\n''' ist eine Return oder eine Linefeed (Windows neue Zeile)<br>
 
'''*''' wiederholt das vorherige Zeichen beliebig oft - auch 0 Mal<br>
 
'''+''' wiederholt das vorherige Zeichen beliebig oft - mindestens 1 Mal<br>
 
'''{1}''' steht für das vorherige Zeichen, 1 Mal<br>
 
'''{2,4}''' steht für das vorherige Zeichen, 2 bis 4 Mal nacheinander<br>
 
'''{3,}''' steht für das vorherige Zeichen, mindestens 3 Mal<br>
 
 
<br>
 
<br>
== Beispiele ==
+
{{#var:49|Eine Sammlung von verschiedenen Virenscanner-Regex-Ausdrücken sind in [[UTM/APP/HTTP_Proxy-Virenscanner|diesem Beitrag]] zu finden.}}
=== einfaches Beispiel ===
 
Im einfachen Beispiel soll der eingegebene Wert eines Textfeldes geprüft werden. In dem Textfeld soll die Hausnummer eingetragen werden. Durch die vorher definierte Stadt bleiben nur Hausnummern von 1 bis 9 und Adresszusätze von a bis f. <br>
 
Der Regex für diesen Fall würde so aussehen:<br>
 
'''[1-9][a-f]'''<br>
 
Wird der Adresszusatz, also a-f groß geschrieben, würde dieser Regex nicht matchen. Damit groß geschriebene Buchstaben erfasst werden, müsste der Regex so aussehen:<br>
 
'''[1-9][A-F]'''<br>
 
Um die Groß- UND Kleinschreibung zuzulassen, müsste der Regex so aussehen:<br>
 
'''[1-9][a-fA-F]'''<br>
 
 
 
=== fortgeschrittenes Beispiel ===
 
Im fortgeschrittenen Beispiel soll der Regex auf alle zusammenhängenden Wörter matchen, welche auf '''point''' enden.<br>
 
checkpoint<br>
 
mountpoint<br>
 
securepoint<br>
 
Ein Regex der auf alle genannten Wörter matcht würde dann theoretisch so aussehen:<br>
 
'''.*point'''<br>
 
Praktisch würde auch folgendes vom Regex erfasst werden:<br>
 
'''das ist kein point'''<br>
 
Um das Verhalten zu unterbinden, müsste folgender Regex gebaut werden:<br>
 
'''[a-zA-Z]*point'''
 
 
 
=== einfaches Beispiel anhand einer URL ===
 
Im einfachen URL-Beispiel soll auf www.securepoint.de gematcht werden.<br>
 
Folgender Regex wäre korrekt:<br>
 
'''www\.securepoint\.de'''<br>
 
Warum muss der Regex so aussehen?<br>
 
Die beiden Punkte innerhalb der URL stehen innerhalb eines Regex normalerweise für ein beliebiges Zeichen. Am Beispiel der URL soll jedoch auf genau diesen Punkt gematcht werden und nicht auf ein beliebiges Zeichen. Wie oben bereits erwähnt, hebt der Backslash '''\''' die Regex-Funktion des folgenden Zeichen auf. So kann auch auf den Punkt gematcht werden.<br>
 
 
 
 
 
 
 
 
 
 
 
 
 
== Anwendungsbereiche von Regexen ==
 
In der aktuellen UTMv11 gibt es in gleich mehreren Anwendungen die Möglichkeit mit Regexen zu arbeiten. Möchten Sie beispielsweise die URL '''http://www.securepoint.de/produkte/utm-firewalls.html''' in die Whitelist des Virenscanners aufnehmen, ist es sehr wichtig, dass letztendlich genau diese URL in die Whitelist aufgenommen wird.
 
 
 
  
 +
==== {{#var:50|HTTP-Proxy: Authentifizierungsausnahmen}} ====
 +
{{#var:51|In den Authentifizierungsausnahmen des Proxy muss das Protokoll nicht angegeben werden. Hier wird einfach die URL ohne Protokoll als Regex angegeben:}}<br>
 +
'''{{#var:48|Beispiel:}} www\.securepoint\.de'''
  
[[Datei:Regexyo.jpg|800px|center|Regex]]
+
==== {{#var:52|HTTP-Proxy: SSL-Interception}} ====
 +
{{#var:53|Bei der SSL-Interception wird das selbe Prinzip wie bei den Authentifizierungsausnahmen angewendet. Die URL wird ohne Protokoll als Regex angegeben.}}<br>
 +
'''{{#var:48|Beispiel:}} <code>www\.securepoint\.de''' oder '''.*\.securepoint\.de<code>'''

Aktuelle Version vom 6. September 2019, 08:29 Uhr






























De.png
En.png
Fr.png


Syntax und Anwendung von Regex-Ausdrücken

Letzte Anpassung zur Version: 11.8

Änderungen:

  • Artikelanpassung
  • Übersetzung



Einleitung

Bei der Konfiguration der UTM werden für mehrere Anwendungen reguläre Ausdrücke (kurz Regex) benötigt. Ein Regex wird dazu verwendet, um eine Zeichenkette auf eine bestimmte Zusammensetzung zu prüfen. Im Folgenden wird die Zusammensetzung und die Anwendung von Regexen innerhalb der Securepoint UTM erklärt.

Zusammensetzung

Innerhalb des Regex werden folgende Zeichen verwendet:

. steht für ein beliebiges Zeichen
[abc] matcht auf alle Buchstaben in den Klammern: a, b oder c
[^abc] matcht auf alle Buchstaben außer: a, b oder c
[a-z] matcht auf alle Buchstaben von: a bis z
[a-zA-Z] matcht auf alle Buchstaben von: a bis z oder A bis Z
^ Steht für den Beginn einer Zeile
$ steht für das Ende einer Zeile
\s steht für ein Leerzeichen
\ hebt die Regex-Funktion des nächsten Zeichens auf und "sucht" somit nach dem folgenden Zeichen
\r\n ist ein Return oder ein Linefeed (Windows neue Zeile)
* wiederholt das vorherige Zeichen beliebig oft - auch 0 Mal
+ wiederholt das vorherige Zeichen beliebig oft - mindestens 1 Mal
{1} steht für das vorherige Zeichen, 1 Mal
{2,4} steht für das vorherige Zeichen, 2 bis 4 Mal nacheinander
{3,} steht für das vorherige Zeichen, mindestens 3 Mal
[^:] steht für alles außer einem Doppelpunkt


Beispiele

Beispiel 1

Im Beispiel wird der eingegebene Wert eines Textfeldes geprüft. In dem Textfeld soll die Hausnummer eingetragen werden. Durch die vorher definierte Stadt bleiben nur Hausnummern von 1 bis 9 und Adresszusätze von a bis f.
Der Regex für diesen Fall würde so aussehen:
[1-9][a-f]

Wird der Adresszusatz, also a-f groß geschrieben, würde dieser Regex nicht matchen. Damit groß geschriebene Buchstaben erfasst werden, müsste der Regex so aussehen:
[1-9][A-F]

Um die Groß- UND Kleinschreibung zuzulassen, müsste der Regex so aussehen:
[1-9][a-fA-F]

Beispiel 2

Im Beispiel soll der Regex auf alle zusammenhängenden Wörter matchen, welche auf point enden.
checkpoint
mountpoint
securepoint

Ein Regex der auf alle genannten Wörter matcht sieht so aus:
.*point

Praktisch würde auch folgendes vom Regex erfasst werden:
das ist kein point

Um das Verhalten zu unterbinden, müsste folgender Regex verwendet werden:
[a-zA-Z]*point

Beispiel 3 - URL-Regex

Im URL-Beispiel soll auf www.securepoint.de gematcht werden.
Folgender Regex wäre korrekt:
\.securepoint\.de

Die beiden Punkte innerhalb der URL stehen bei einem Regex normalerweise für ein beliebiges Zeichen. Am Beispiel der URL soll jedoch auf genau diesen Punkt gematcht werden und nicht auf ein beliebiges Zeichen. Wie oben bereits erwähnt, hebt der Backslash \ die Regex-Funktion des folgenden Zeichens auf. So kann auch auf den Punkt gematcht werden. In einem solchen Fall wird vom "escapen" eines Zeichens gesprochen.

Anwendungsbereiche von Regexen

HTTP-Proxy: Virenscanner

Soll beispielsweise die URL http://download.windowsupdate.com in die Whitelist des Virenscanners aufgenommen werden, ist es sehr wichtig, dass letztendlich genau diese URL in die Whitelist aufgenommen wird.

Der passende Regex lautet also:
http://download\.windowsupdate\.com/
Alternativ kann auf alle Protokolle gematcht werden. So zu finden in den vordefinierten Ausnahmen des Virenscanners:
Beispiel: ^[^:]*://download\.windowsupdate\.com/


Eine Sammlung von verschiedenen Virenscanner-Regex-Ausdrücken sind in diesem Beitrag zu finden.

HTTP-Proxy: Authentifizierungsausnahmen

In den Authentifizierungsausnahmen des Proxy muss das Protokoll nicht angegeben werden. Hier wird einfach die URL ohne Protokoll als Regex angegeben:
Beispiel: www\.securepoint\.de

HTTP-Proxy: SSL-Interception

Bei der SSL-Interception wird das selbe Prinzip wie bei den Authentifizierungsausnahmen angewendet. Die URL wird ohne Protokoll als Regex angegeben.
Beispiel: www\.securepoint\.de oder .*\.securepoint\.de