{"id":55000203,"date":"2004-02-01T00:00:00","date_gmt":"2020-05-06T15:17:36","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=203"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Textfunktionen_mit_und_ohne_regulaere_Ausdruecke","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/","title":{"rendered":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Andr&eacute; Minhorst, Duisburg<\/b><\/p>\n<p><b>Die Arbeit mit Texten kann vielf&auml;ltig sein. Dazu geh&ouml;rt das Durchsuchen von Zeichenketten nach anderen Zeichenketten, das Ersetzen von Zeichenketten durch andere Zeichenketten, Zerlegen von Zeichenketten und so weiter. Eine weitere wichtige Funktion ist das &uuml;berpr&uuml;fen von Zeichenketten auf bestimmte Merkmale. Im vorliegenden Beitrag erfahren Sie, wie diese Aufgaben mit und ohne Anwendung von regul&auml;ren Ausdr&uuml;cken erledigt werden k&ouml;nnen.<\/b><\/p>\n<p>Das Untersuchen, Suchen und Ersetzen von bestimmten Elementen einer Zeichenfolge durch andere Zeichen wird meistens beim Import oder Export von Daten und der damit verbundenen Anpassung an das andere Format notwendig.<\/p>\n<p>Access bietet hierzu einige Standardfunktionen an, mit denen sich alle gew&uuml;nschten Aufgaben mit mehr oder weniger Aufwand erledigen lassen.<\/p>\n<p>F&uuml;r bestimmte Aufgaben gibt es aber auch spezielle Bibliotheken, die Funktionen zur Verf&uuml;gung stellen, die man sonst m&uuml;hevoll programmieren m&uuml;sste.<\/p>\n<p>Eine dieser Bibliotheken hei&szlig;t Microsoft VBScript Regular Expressions und stellt so genannte regul&auml;re Ausdr&uuml;cke zur Verf&uuml;gung. Diese Bibliothek enth&auml;lt m&auml;chtige Werkzeuge zum Suchen und Ersetzen.<\/p>\n<p>VBA bietet einige M&ouml;glichkeiten zur Manipulation von Zeichenketten. Wichtig daf&uuml;r sind vor allem die vorhandenen Zeichenkettenfunktionen und die Vergleichsoperatoren, die nachfolgend vorgestellt werden.<\/p>\n<h3>Textfunktionen<\/h3>\n<p>VBA stellt einige Funktionen f&uuml;r die Arbeit mit Zeichenketten zur Verf&uuml;gung. Die wichtigsten sind mit den gebr&auml;uchlichen Parametern inTab. 1 aufgelistet. Einige enthalten weitere Parameter. F&uuml;r genauere Informationen konsultieren Sie die Onlinehilfe.<\/p>\n<h3>Vergleichsoperatoren<\/h3>\n<p>Neben den Textfunktionen, die gr&ouml;&szlig;tenteils der eigentlichen Bearbeitung dienen, sind Vergleichsoperationen ein wichtiger Bestandteil bei der Anwendung der Textfunktionen. In Tab. 2 finden Sie eine Auflistung der gebr&auml;uchlichen Vergleichsoperatoren.<\/p>\n<h3>Platzhalter<\/h3>\n<p>Beim Like-Operator k&ouml;nnen im rechten Teil des Ausdrucks Platzhalter verwendet werden. Es gibt zwei Platzhalter: das Sternchen (*) und das Fragezeichen (). Das Sternchen steht f&uuml;r Null bis beliebig viele Zeichen, das Fragezeichen f&uuml;r genau ein beliebiges Zeichen. Der folgende Ausdruck ergibt beispielsweise den R&uuml;ckgabewert True:<\/p>\n<pre>\"info@access-im-unternehmen.de\" Like \"*@*.*\"<\/pre>\n<table border=1>\n<tr>\n<td>\n<p><b>Funktion<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Len(str)<\/p>\n<\/td>\n<td>\n<p>Ermittelt die Anzahl der Zeichen einer Zeichenkette str.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Left(str,n)<\/p>\n<\/td>\n<td>\n<p>Gibt die ersten n Zeichen der Zeichenkette str zur&uuml;ck.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Right(str,n)<\/p>\n<\/td>\n<td>\n<p>Gibt die letzten n Zeichen einer Zeichenkette str zur&uuml;ck.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Mid(str,m,n)<\/p>\n<\/td>\n<td>\n<p>Gibt die Teilzeichenkette vom mten bis zum (m+n)ten Zeichen zur&uuml;ck.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Instr(n, str1, str2)<\/p>\n<\/td>\n<td>\n<p>Gibt die Position zur&uuml;ck, an der sich die Zeichenkette str2 innerhalb der Zeichenkette str1 ab der nten Stelle befindet (0 bei keinem Auftreten).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Replace(str1, str2, str3)<\/p>\n<\/td>\n<td>\n<p>Ersetzt die Zeichenkette str2 innerhalb der Zeichenkette str1 durch str3.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Trim(str)<\/p>\n<\/td>\n<td>\n<p>Schneidet alle Leerzeichen am Anfang und am Ende von str ab.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Chr(x)<\/p>\n<\/td>\n<td>\n<p>Gibt das dem ASCII-Code x entsprechende Zeichen zur&uuml;ck.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Asc(str)<\/p>\n<\/td>\n<td>\n<p>Gibt den ASCII-Code f&uuml;r das erste Zeichen in str zur&uuml;ck.<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 1: Zeichenkettenfunktionen von VBA<\/b><\/p>\n<table border=1>\n<tr>\n<td>\n<p><b>Vergleichs-operator<\/b><\/p>\n<\/td>\n<td>\n<p><b>Beschreibung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>=<\/p>\n<\/td>\n<td>\n<p>Gleich. Gibt True zur&uuml;ck, wenn Zeichenfolgen exakt gleich sind.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&lt;, &lt;=, &gt;=, &gt;<\/p>\n<\/td>\n<td>\n<p>Vergleicht Zeichenfolgen nach dem Wert der Asc-Funktion (Beispiel: Asc(&#8222;a&#8220;) = 97, Asc(&#8222;b&#8220;) = 98, also w&uuml;rde &#8222;a&lt;b&#8220; True zur&uuml;ckgeben.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>&lt;&gt;<\/p>\n<\/td>\n<td>\n<p>Ungleich.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>Like<\/p>\n<\/td>\n<td>\n<p>Wie &#8220;=&#8220;, allerdings unter Verwendung von Platzhaltern. <\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 2: Vergleichsoperatoren von VBA<\/b><\/p>\n<p>Ausdr&uuml;cke wie dieser k&ouml;nnen beispielsweise zur Validierung von Werten &#8211; wie hier einer E-Mail-Adresse &#8211; verwendet werden.<\/p>\n<h3>Textfunktionen + Vergleichsoperatoren + Platzhalter + VBA = <\/h3>\n<p>Mit den genannten Werkzeugen lassen sich mit den unter VBA vorhandenen Konstruktionen wie For Next-, Do While- und anderen Schleifen die meisten Aufgaben mit mehr oder weniger Aufwand erledigen.<\/p>\n<p>Mit der seit Access 2000 verf&uuml;gbaren Funktion Replace lassen sich sogar in einem Rutsch mehrere Vorkommen einer Zeichenfolge durch eine andere ersetzen. Leider lassen sich innerhalb dieser Funktion keine Platzhalter verwenden, was deren Flexibilit&auml;t enorm einschr&auml;nkt.<\/p>\n<h2>&#8230; und was VBA noch fehlt<\/h2>\n<p>Wer zeit seines Lebens mit VBA gearbeitet hat, wird m&ouml;glicherweise gar nicht viel vermissen, da er es gewohnt ist, aus den wenigen Grundfunktionen eigene Funktionen zusammenzustellen, die alle gew&uuml;nschten Aufgaben erledigen.<\/p>\n<p>Wer allerdings einmal einen Blick auf andere Programmiersprachen wie Java, Javascript oder PHP geworfen hat, mag in Anbetracht der vielen vorgefertigten Funktionen neidisch geworden sein.<\/p>\n<p>Wie die beiden letzten Abschnitte andeuten, scheint die Definition dessen, welche F&auml;higkeiten VBA in Bezug auf das Thema des vorliegenden Beitrags nicht hat, aber haben sollte, schwierig zu sein. <\/p>\n<p>Die im folgenden Kapitel vorgestellten regul&auml;ren Ausdr&uuml;cke und die damit verbundene Objektbibliothek sollten aber auf jeden Fall zum Schlie&szlig;en dieser L&uuml;cke beitragen.<\/p>\n<p>Ein regul&auml;rer Ausdruck ist nichts anderes als ein Suchmuster, um &uuml;bereinstimmende Muster in einer Eingabe zu finden.<\/p>\n<p>Weiter oben haben Sie bereits die in Zusammenhang mit dem Like-Befehl zur Verf&uuml;gung stehenden Platzhalter wie das Sternchen und das Fragezeichen kennen gelernt. <\/p>\n<p>Regul&auml;re Ausdr&uuml;cke bieten nicht nur Platzhalter f&uuml;r eines oder mehrere Zeichen, sie sind noch wesentlich m&auml;chtiger.<\/p>\n<h3>Einsatzgebiete von regul&auml;ren Ausdr&uuml;cken<\/h3>\n<p>Die Verwendung regul&auml;rer Ausdr&uuml;cke erweitert die M&ouml;glichkeiten von VBA um einige wichtige Punkte. Als Einsatzgebiete bieten sich beispielsweise die in den beiden folgenden Abschnitten beschriebenen an.<\/p>\n<h3>&uuml;berpr&uuml;fung eingehender Daten<\/h3>\n<p>Der Export von Daten externer Datenquellen birgt viele Fehlerquellen in sich, da die Datentypen der zu importierenden Daten nicht mit den Zieldatentypen &uuml;bereinstimmen. Mit regul&auml;ren Ausdr&uuml;cken k&ouml;nnen Sie das Format der eingehenden Daten pr&uuml;fen.<\/p>\n<h3>Eingabevalidierung<\/h3>\n<p>Viele Datenfelder erwarten Eingaben in speziellen Formaten. Dazu geh&ouml;ren Internetadressen, E-Mail-Adressen, Telefonnummern, Autokennzeichen und so weiter. Sie k&ouml;nnen zwar in Formularen ein entsprechendes Eingabeformat festlegen, aber Sie stellen dem durchschnittlichen Benutzer damit ein sehr ungewohntes Eingabeelement zur Verf&uuml;gung. <\/p>\n<p><!--30percent--><\/p>\n<p>Mit regul&auml;ren Ausdr&uuml;cken k&ouml;nnen Sie leicht &uuml;berpr&uuml;fen, ob der eingegebene Ausdruck den Vorgaben entspricht, und den Benutzer gegebenenfalls auf Eingabefehler aufmerksam machen.<\/p>\n<h3>Parsen von Zeichenketten<\/h3>\n<p>Die Vielfalt der bei regul&auml;ren Ausdr&uuml;cken zur Verf&uuml;gung stehenden Platzhalter reicht aus, um auch v&ouml;llig unkonventionell formatierte Texte so hinzubiegen, wie man sie haben m&ouml;chte. F&uuml;r das Einlesen und Umwandeln von Daten anderer Formate sind regul&auml;re Ausdr&uuml;cke gut geeignet.<\/p>\n<p>F&uuml;r die Verwendung von regul&auml;ren Ausdr&uuml;cken in Access ist die Einbindung einer Objektbibliothek erforderlich. Diese hei&szlig;t Microsoft VBScript Regular Expressions x.0 und steht auf Ihrem Rechner zur Verf&uuml;gung, wenn Sie entweder den Windows Scripting Host oder den Internet Explorer ab Version 5.5 installiert haben.<\/p>\n<p>Den Verweis auf die Bibliothek setzen Sie wie &uuml;blich durch den Aufruf des Dialogs Verweise &uuml;ber den Men&uuml;eintrag Extras\/Verweise und anschlie&szlig;ende Auswahl des gew&uuml;nschten Eintrags (siehe Bild 1).<\/p>\n<p><IMG height=\"363\" src=\"..\/fileadmin\/_temp_\/{D4D7B44C-1EA9-4CEE-968D-6F785D687FBA}\/pic001.png\" width=\"483\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1:  Setzen des Verweises auf die gew&uuml;nschte Bibliothek<\/span><\/b><\/p>\n<p>Anschlie&szlig;end stehen das Objekt RegExp sowie seine Eigenschaften und Methoden in Access zur Verf&uuml;gung.<\/p>\n<p>In den nachfolgenden Beispielen erfahren Sie auf anschauliche Weise, wie Sie das RegExp-Objekt verwenden k&ouml;nnen und welche Methoden und Eigenschaften dabei zum Einsatz kommen.<\/p>\n<h2>Deklaration und Instanzierung<\/h2>\n<p>Mit den folgenden beiden Anweisungen erstellen und f&uuml;llen Sie die Objektvariable objRegExp mit dem gew&uuml;nschten Objekt:<\/p>\n<pre>Dim objRegExp As RegExp\r\nSet objRegExp = New RegExp\r\nPublic Function Suche(strText As String, _    strSuchbegriff As String) As Boolean\r\n    Dim objRegexp As RegExp\r\n    Set objRegexp = New RegExp\r\n    objRegexp.IgnoreCase = True\r\n    objRegexp.Pattern = strSuchbegriff\r\n    Suche = objRegexp.Test(strText)\r\nEnd Function<\/pre>\n<p><b>Quellcode 1<\/b><\/p>\n<pre>Public Function SucheMitPosition(strText As String, _    strSuchbegriff As String) As Integer\r\n    Dim objRegexp As RegExp\r\n    Dim objMatch As Match\r\n    Dim objMatchCollection As MatchCollection\r\n    Set objRegexp = New RegExp\r\n    objRegexp.IgnoreCase = True\r\n    objRegexp.Pattern = strSuchbegriff\r\n    objRegexp.Global = True\r\n    Set objMatchCollection = objRegexp.Execute(strText)\r\n    For Each objMatch In objMatchCollection\r\n        Debug.Print objMatch.FirstIndex, _            objMatch.Length, objMatch.Value\r\n    Next objMatch\r\nEnd Function<\/pre>\n<p><b>Quellcode 2<\/b><\/p>\n<p>Wenn Sie nun den Objektnamen gefolgt von einem Punkt in den VBA-Editor eingeben, erhalten Sie einen &uuml;berblick &uuml;ber die zur Verf&uuml;gung stehenden Methoden und Eigenschaften (siehe Bild 2).<\/p>\n<p><IMG height=\"279\" src=\"..\/fileadmin\/_temp_\/{D4D7B44C-1EA9-4CEE-968D-6F785D687FBA}\/pic002.png\" width=\"469\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2:  Methoden- und Eigenschafts&uuml;bersicht per IntelliSense<\/span><\/b><\/p>\n<h2>Einfache Suche<\/h2>\n<p>Die Funktion aus Quellcode 1 f&uuml;hrt eine einfache Suche nach einem bestimmten Suchbegriff in einer Zeichenkette durch. Ist die Suche erfolgreich, gibt die Funktion den Wert True zur&uuml;ck, ansonsten den Wert False.<\/p>\n<p>Mit der Eigenschaft IgnoreCase legen Sie fest, ob die Suche Gro&szlig;- und Kleinschreibung ber&uuml;cksichtigen soll.<\/p>\n<p>Der Eigenschaft Pattern weist die Funktion den im Funktionsaufruf &uuml;bergebenen Suchausdruck strSuchbegriff zu.<\/p>\n<p>Die Methode Test f&uuml;hrt die eigentliche Suche aus. Sie enth&auml;lt als Parameter den zu durchsuchenden Text.<\/p>\n<h2>Suche mit Positionsangabe<\/h2>\n<p>In vielen F&auml;llen ist es interessant zu wissen, an welcher Position im Text der Suchbegriff gefunden wurde.<\/p>\n<h3>Match und MatchCollection<\/h3>\n<p>Dazu ben&ouml;tigen Sie zwei weitere Objekte: Match und MatchCollection. Letztere dient dem Zugriff auf die Objekte des Typs Match.<\/p>\n<p>Das Objekt MatchCollection hat zwei Eigenschaften: Die Eigenschaft Count gibt die Anzahl der enthaltenen Objekte des Typs Match zur&uuml;ck und die Eigenschaft Item enth&auml;lt eine Auflistung zum Zugriff auf diese Objekte.<\/p>\n<p>Das Objekt Match wiederum hat drei Eigenschaften: FirstIndex, Length und Value. Die Eigenschaft FirstIndex gibt die Startposition des in der Eigenschaft Value gespeicherten Ausdrucks innerhalb der zu durchsuchenden Zeichenkette wieder. Der Wert Length enth&auml;lt die L&auml;nge des gefundenen Ausdrucks. Wie Sie sp&auml;ter erfahren werden, wird die L&auml;nge in manchen F&auml;llen nicht durch die Angabe des Suchkriteriums festgelegt, da manche Platzhalter auch f&uuml;r mehrere Zeichen stehen k&ouml;nnen.<\/p>\n<pre>Public Function SuchenUndErsetzen(strText As String, strSuchbegriff As String, _    strErsetzung As String) As String\r\n    Dim objRegExp As RegExp\r\n    Set objRegExp = New RegExp\r\n    objRegExp.IgnoreCase = True\r\n    objRegExp.Pattern = strSuchbegriff\r\n    SuchenUndErsetzen = objRegExp.Replace(strText, strErsetzung)\r\nEnd Function<\/pre>\n<p><b>Quellcode 3<\/b><\/p>\n<h3>Suchergebnis auswerten<\/h3>\n<p>Damit nicht einfach nur der Sucherfolg ausgegeben wird, sondern auch einige Detailinformationen, verwenden Sie die Funktion aus Quellcode 2.<\/p>\n<p>Die Funktion verwendet die zwei Objekte objMatch und objMatchCollection, um das Ergebnis der Suche im Detail zu speichern.<\/p>\n<p>Damit nicht nur die erste, sondern alle Fundstellen ber&uuml;cksichtigt werden, setzt die Funktion die Eigenschaft Global des Objekts objRegExp auf den Wert True.<\/p>\n<p>F&uuml;r die Zuweisung des Suchergebnisses an das Objekt objMatchCollection wird die Methode Execute des Objekts objRegExp ausgef&uuml;hrt.<\/p>\n<p>Die Informationen &uuml;ber das Suchergebnis werden anschlie&szlig;end innerhalb einer For Each-Schleife ausgegeben.<\/p>\n<p><IMG height=\"174\" src=\"..\/fileadmin\/_temp_\/{D4D7B44C-1EA9-4CEE-968D-6F785D687FBA}\/pic003.png\" width=\"375\" border=\"0\"><\/p>\n<p><b><\/b><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3:  Beispiel f&uuml;r einen Aufruf der Funktion SucheMitPosition<\/span><\/b><\/p>\n<p>Bild 3 zeigt ein Beispiel f&uuml;r den Aufruf dieser Funktion. Die erste Zeile der Ergebnisliste gibt die Position der Fundstelle an, die zweite die L&auml;nge des gefundenen Vergleichwertes sowie den gefundenen Wert selbst.<\/p>\n<h2>Suchen und ersetzen<\/h2>\n<p>Die Prozedur aus Quellcode 3 verwendet die Methode Replace des Regexp-Objekts, um einen Ausdruck einmal zu ersetzen.<\/p>\n<p>Um alle Vorkommen des Ausdrucks strSuchbegriff durch den Inhalt von strErsetzung zu ersetzen, stellen Sie die Eigenschaft Global des RegExp-Objekts auf den Wert True ein.<\/p>\n<p>In den folgenden Abschnitten finden Sie einige Regeln und Beispiele f&uuml;r die Anwendung regul&auml;rer Ausdr&uuml;cke. Aus Platzgr&uuml;nden beschreibt der vorliegende Beitrag nicht alle m&ouml;glichen Platzhalter. Eine Liste aller m&ouml;glichen Platzhalter erhalten Sie unter folgender Internetadresse:<\/p>\n<p>http:\/\/msdn.microsoft.com\/library\/default.aspurl=\/library\/en-us\/script56\/html\/vspropattern.asp<\/p>\n<p>Statt einer Auflistung der m&ouml;glichen Platzhalter finden Sie nachfolgend einige Beispiele.<\/p>\n<h3>Hinweis<\/h3>\n<p>Um Missverst&auml;ndnisse zu vermeiden, soll nachfolgende Festlegung gelten: Zeichen wie Buchstaben, Ziffern oder Sonderzeichen, die eins zu eins &uuml;bereinstimmen m&uuml;ssen, hei&szlig;en Literale, und alle Zeichen, die als Ausdruck f&uuml;r eine bestimmte Bedingung oder als Platzhalter dienen, Metazeichen. <\/p>\n<pre>Public Function IstEMailAdresse(EMailAdresse As String) As Boolean\r\n    Dim objRegExp As RegExp\r\n    Set objRegExp = New RegExp\r\n    objRegExp.IgnoreCase = True\r\n    objRegExp.Pattern = \"^[^@]*@[^@]*\\.[^\\.@]*$\"\r\n    IstEMailAdresse = objRegExp.Test(EMailAdresse)\r\nEnd Function<\/pre>\n<p><b>Quellcode 4<\/b><\/p>\n<h2>Beispiel Eingabevalidierung<\/h2>\n<p>Als Beispiel soll eine Eingabevalidierung dienen. Eine per Funktionsparameter &uuml;bergebene E-Mail-Adresse soll auf ihre Syntax &uuml;berpr&uuml;ft werden. Eine E-Mail-Adresse enth&auml;lt den Namen des Empf&auml;ngers, ein At-Zeichen (@) und den Namen der Domain.<\/p>\n<p>Der Domainname besteht dabei aus einer Zeichenkette, die mindestens einen Punkt enth&auml;lt, der sich nicht am Anfang oder am Ende befinden darf.<\/p>\n<p>Die erforderliche Funktion finden Sie in Quellcode 4.<\/p>\n<p>Erkl&auml;rungsbed&uuml;rftig ist sicher der Vergleichsausdruck, der f&uuml;r Neulinge im Bereich Regul&auml;re Ausdr&uuml;cke sicher sehr kryptisch aussieht:<\/p>\n<pre>^[^@ ]*@[^@ ]*\\.[^\\.@ ]*$<\/pre>\n<p>Das erste Zeichen ^ und das letzte Zeichen $ sorgen daf&uuml;r, dass der eingegebene Ausdruck vom ersten bis zum letzten Zeichen durchsucht wird.<\/p>\n<p>Der Ausdruck [^@ ]* steht stellvertretend f&uuml;r beliebig viele Zeichen mit Ausnahme des @-Zeichens und des Leerzeichens.<\/p>\n<p>Anschlie&szlig;end muss ein @-Zeichen folgen. Die n&auml;chste Zeichenfolge entspricht der ersten. Dann folgt der Ausdruck \\. als Platzhalter f&uuml;r den Punkt vor dem Kennzeichen der entsprechenden Top-Level-Domain. Dahinter folgt schlie&szlig;lich noch der Ausdruck [^\\.@]*. Er steht stellvertretend f&uuml;r beliebig viele Zeichen mit Ausnahme des @-Zeichens, des Leerzeichens und des Punktes (.).<\/p>\n<h3>Hinweis<\/h3>\n<p>Sie k&ouml;nnen E-Mail-Adressen mit diesem Ausdruck nat&uuml;rlich nur bez&uuml;glich der weiter oben genannten Kriterien &uuml;berpr&uuml;fen. Sicher gibt es weitere Sonderzeichen, die nicht in E-Mail-Adressen vorkommen d&uuml;rfen. Ein Vergleichsausdruck f&uuml;r einen exakten Vergleich soll aber nach Expertenmeinung nur mit nicht vertretbarem Aufwand zu realisieren sein &#8211; in Anbetracht dessen, dass Sie dann zwar eine syntaktisch korrekte E-Mail-Adresse haben, die aber immer noch nicht g&uuml;ltig sein muss &#8211; weil es sie vielleicht gar nicht gibt. <\/p>\n<h2>Beispiel unterschiedlicherSchreibweisen<\/h2>\n<p>Das n&auml;chste Beispiel besch&auml;ftigt sich mit alter und neuer Rechtschreibung:<\/p>\n<p>Wenn Sie ein Wort suchen, von dem Sie wissen, dass es in mehreren Schreibweisen auftreten k&ouml;nnte, k&ouml;nnen Sie mit einem regul&auml;ren Ausdruck leicht mehrere M&ouml;glichkeiten gleichzeitig abdecken.<\/p>\n<p>Dazu ersetzen Sie lediglich den unterschiedlichen Bereich durch einen entsprechenden Platzhalter. Nehmen Sie als Beispiel das Wort, das nach neuer Rechtschreibung Potenzial und nach alter Rechtschreibung Potential hei&szlig;t. Der Ausdruck, der beide Schreibweisen findet, lautet folgenderma&szlig;en:<\/p>\n<pre>Poten[tz]ial<\/pre>\n<p>Wenn Sie nun auch auf Nummer Sicher gehen und verhindern m&ouml;chten, dass die Schreibweise von Leuten, die sich nicht zwischen alter und neuer Rechtschreibung entscheiden k&ouml;nnen, unterschlagen wird, &uuml;berpr&uuml;fen Sie auch noch auf die Schreibweise Potentzial:<\/p>\n<pre>Poten[tz]*ial<\/pre>\n<p>Das Sternchen gibt an, dass die im vorherigen Ausdruck genannten Zeichen in beliebig oft in beliebiger Reihenfolge vorkommen d&uuml;rfen. Daf&uuml;r erlaubt dieser Ausdruck allerdings auch Potentzzzzial und &auml;hnliche.<\/p>\n<p>Wenn Sie aber nur die drei genannten Versionen zulassen m&ouml;chten, verwenden Sie einen regul&auml;ren Ausdruck, der die t, z und tz durch den Operator Oder verkn&uuml;pft:<\/p>\n<pre>Poten(t|z|tz)ial<\/pre>\n<table border=1>\n<tr>\n<td>\n<p><b>Ausdruck<\/b><\/p>\n<\/td>\n<td>\n<p><b>Bedeutung<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[abc]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r einen der drei Buchstaben a, b oder c<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[a-z]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r einen der Buchstaben von a-z<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[0-9]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r eine Ziffer von 0 bis 9<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[1-5][0-9]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r alle Zahlen von 10 bis 59<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[\\-]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r das Minuszeichen selbst<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>.<\/p>\n<\/td>\n<td>\n<p>Platzhalter f&uuml;r ein beliebiges Zeichen, trifft beispielsweise &#8222;a&#8220;, &#8222;aa&#8220; oder auch &#8222;aaa&#8220;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>^.$<\/p>\n<\/td>\n<td>\n<p>Platzhalter f&uuml;r eine Zeichenkette, die aus einem beliebigen Zeichen besteht, beispielsweise &#8222;a&#8220; oder &#8222;9&#8220;, aber nicht &#8222;aa&#8220;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>[.]<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r den Punkt<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\\b<\/p>\n<\/td>\n<td>\n<p>steht f&uuml;r den Zwischenraum zwischen einem Wort und einem Nicht-Wort, also beispielsweise zwischen einem Buchstaben und einem Leerzeichen <\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>\\B<\/p>\n<\/td>\n<td>\n<p>Gegenteil von \\b<\/p>\n<\/td>\n<\/tr>\n<\/table>\n<p><b>Tab. 3: Beispiele f&uuml;r Ausdr&uuml;cke in eckigen Klammern<\/b><\/p>\n<p>In diesem Fall wird deutlich, dass runde Klammern in regul&auml;ren Ausdr&uuml;cken Metazeichen sind, da sie zur Trennung zwischen Literalen und anderen Metazeichen dienen.<\/p>\n<h2>Weitere Beispiele in Kurzform<\/h2>\n<p>Die nachfolgenden Beispiele sollen weitere M&ouml;glichkeiten der Bildung von Mustern mit regul&auml;ren Ausdr&uuml;cken vorstellen.<\/p>\n<h3>Eckige Klammern<\/h3>\n<p>In eckige Klammern k&ouml;nnen Sie mehrere einzelne Zeichen, Zeichenbereiche oder negierte Zeichen oder Zeichenbereiche setzen, wie die Beispiele aus Tab. 3 zeigen.<\/p>\n<h3>Optionale Elemente<\/h3>\n<p>Optionale Elemente, die entweder einmal vorhanden oder nicht vorhanden sein k&ouml;nnen, werden durch ein nachfolgendes Fragezeichen () gekennzeichnet. Optionale Elemente, die l&auml;nger als ein Zeichen sind, werden in Klammern gefasst.<\/p>\n<p>Tipp steht also f&uuml;r Tip oder Tipp und selbst(st)&auml;ndig steht f&uuml;r selbst&auml;ndig oder selbstst&auml;ndig.<\/p>\n<p>&auml;hnliche Elemente sind die folgenden:<\/p>\n<li>Das Plus-Zeichen (+) steht f&uuml;r ein oder mehrere Auftreten des vorhergehenden Ausdrucks.<\/li>\n<li>Das Sternchen (*) steht f&uuml;r kein oder mehrere Auftreten.<\/li>\n<li>Mit einer Zahl gef&uuml;llte geschweifte Klammern (zum Beispiel {2}) bedeuten, dass der vorhergehende Ausdruck entsprechend der angegebenen Zahl vorkommen muss.<\/li>\n<li>Mit zwei durch Komma getrennten Zahlen gef&uuml;llte Klammern (zum Beispiel {1,3}) bedeuten, dass der vorhergehende Ausdruck zwischen einem und drei Mal auftauchen muss.<\/li>\n","protected":false},"excerpt":{"rendered":"<p>Die Arbeit mit Texten kann vielf&auml;ltig sein. Dazu geh&ouml;rt das Durchsuchen von Zeichenketten nach anderen Zeichenketten, das Ersetzen von Zeichenketten durch andere Zeichenketten, Zerlegen von Zeichenketten und so weiter. Eine weitere wichtige Funktion ist das &Uuml;berpr&uuml;fen von Zeichenketten auf bestimmte Merkmale. Im vorliegenden Beitrag erfahren Sie, wie diese Aufgaben mit und ohne Anwendung von regul&auml;ren Ausdr&uuml;cken erledigt werden k&ouml;nnen.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66012004,662004,44000025],"tags":[],"class_list":["post-55000203","post","type-post","status-publish","format-standard","hentry","category-66012004","category-662004","category-VBA_und_Programmiertechniken"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke\" \/>\n<meta property=\"og:description\" content=\"Die Arbeit mit Texten kann vielf&auml;ltig sein. Dazu geh&ouml;rt das Durchsuchen von Zeichenketten nach anderen Zeichenketten, das Ersetzen von Zeichenketten durch andere Zeichenketten, Zerlegen von Zeichenketten und so weiter. Eine weitere wichtige Funktion ist das &Uuml;berpr&uuml;fen von Zeichenketten auf bestimmte Merkmale. Im vorliegenden Beitrag erfahren Sie, wie diese Aufgaben mit und ohne Anwendung von regul&auml;ren Ausdr&uuml;cken erledigt werden k&ouml;nnen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-06T15:17:36+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"14\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke\",\"datePublished\":\"2020-05-06T15:17:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/\"},\"wordCount\":2658,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/00177041c6e841c1bbe9b167fa68eef4\",\"articleSection\":[\"1\\\/2004\",\"2004\",\"VBA und Programmiertechniken\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/\",\"name\":\"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/00177041c6e841c1bbe9b167fa68eef4\",\"datePublished\":\"2020-05-06T15:17:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/00177041c6e841c1bbe9b167fa68eef4\",\"contentUrl\":\"http:\\\/\\\/vg06.met.vgwort.de\\\/na\\\/00177041c6e841c1bbe9b167fa68eef4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/","og_locale":"de_DE","og_type":"article","og_title":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke","og_description":"Die Arbeit mit Texten kann vielf&auml;ltig sein. Dazu geh&ouml;rt das Durchsuchen von Zeichenketten nach anderen Zeichenketten, das Ersetzen von Zeichenketten durch andere Zeichenketten, Zerlegen von Zeichenketten und so weiter. Eine weitere wichtige Funktion ist das &Uuml;berpr&uuml;fen von Zeichenketten auf bestimmte Merkmale. Im vorliegenden Beitrag erfahren Sie, wie diese Aufgaben mit und ohne Anwendung von regul&auml;ren Ausdr&uuml;cken erledigt werden k&ouml;nnen.","og_url":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-06T15:17:36+00:00","og_image":[{"url":"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"14\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke","datePublished":"2020-05-06T15:17:36+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/"},"wordCount":2658,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4","articleSection":["1\/2004","2004","VBA und Programmiertechniken"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/","url":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/","name":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#primaryimage"},"thumbnailUrl":"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4","datePublished":"2020-05-06T15:17:36+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#primaryimage","url":"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4","contentUrl":"http:\/\/vg06.met.vgwort.de\/na\/00177041c6e841c1bbe9b167fa68eef4"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Textfunktionen_mit_und_ohne_regulaere_Ausdruecke\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Textfunktionen mit und ohne regul&auml;re Ausdr&uuml;cke"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000203"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000203\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}