Sie sind hier: Wissen
Begriff Regulärer Ausdruck
Abkürzung RA
Eintrag zuletzt aktualisiert am 24.01.2010

 Zur Stichwortliste unseres Lexikons

Was ist Regulärer Ausdruck ?

Reguläre Ausdruck ist die Bezeichnung für a) eine Sprache zur Beschreibung von Mustern b) ein konkretes Muster in dieser Sprache.

Ein regulärer Ausdruck ist eine Zeichenkette, die mit Platzhaltern ein Muster beschreibt. Man nach dieser Musterdefinition andere Zeichenkette mit dem Muster vergleichen und erhält als Ergebnis, ob die Zeichenkette auf das Muster passt. Dabei kann das Muster auch auf einen Teil der Zeichenkette zutreffen. Mit regulären Ausdrücken kann man auch Teile von Zeichenketten ersetzen durch andere Zeichenketten (Austauschfunktion).

Das Microsoft .NET Framework und die PowerShell enthalten eine gute Unterstützung für Mustererkennung in Texten durch reguläre Ausdrücke. Reguläre Ausdrücke sind eine komplexe Sprache, die hier nicht vollständig beschrieben werden kann. Dazu gibt es komplette Bücher. Sie finden eine gute Dokumentation dazu auch im WWW unter [MSDN08].

Reguläre Ausdrücke in .NET

Der Unternamensraum System.Text.RegularExpressions bietet Unterstützung für reguläre Ausdrücke zum Mustervergleich und Ersetzen in Zeichenketten. Die Klasse RegEx stellt mit IsMatch() und Replace() zwei einfache Methoden bereit. Wenn ein regulärer Ausdruck mehrfach verwendet werden soll, ist es aus Leistungsgründen sinnvoll, ein RegEx-Objekt mit dem regulären Ausdruck zu instanziieren und dann die verschiedenen Eingaben mit den Methoden Match() und Replace() anzuwenden.

Beispiel 1: Mustervergleich

In dem folgenden Beispiel prüft ein regulärer Ausdruck, ob die Eingabezeichenkette ein Global Unique Identifier (GUID) oder eine E-Mail-Adresse ist.
Public void Mustervergleich()
{
const string RA_GUID = @"\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9|a-f|
A-F]{12}\}";
const string RA_IPAdresse = @"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|
[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
const string RA_Email = @"^(?<user>[^@]+)@(?<host>.+)$";
const string EINGABE1 = @"{00000615-0000-0010-8000-00AA006D2EA4}";
const string EINGABE2 = @"192.168.123.355"; // Fehler!
Const string EINGABE3 = @"hs@IT-Visions.de";
Demo.Print("GUID korrekt? " + Regex.IsMatch(EINGABE1, RA_GUID));
Demo.Print("IP-Adresse korrekt? " + Regex.IsMatch(EINGABE2, RA_IPAdresse));
Demo.Print("E-Mail-Adresse korrekt? " + Regex.IsMatch(EINGABE3, RA_Email));
}
Listing: Mustervergleich

Beispiel 2: Musterersatz

Im zweiten Beispiel wird eine Datumszeichenkette der Form 08/01/1972 umgewandelt in 01-08-1972.
public void Musterersatz()
{
const String EINGABE = @"08/01/1972";
const string MUSTER = @"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b";
const string ERSATZ = @"${day}-${month}-${year}";
Demo.Print("Alt: " + EINGABE);
Demo.Print("Neu: " + Regex.Replace(EINGABE, MUSTER, ERSATZ));
}
Listing: Musterersatz

Beratung & Support

 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Pro und Contra
 Beratung/Consulting: Umstellung/Migration/Umstieg von Windows Forms-Anwendungen von .NET Framework auf .NET 6.0/.NET 7.0
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services: Upgrade/Versionsumstieg (auch von TFS/VSTS)
 Beratung/Consulting: Umstellung/Migration/Umstieg von .NET Framework auf .NET 6.0/7.0
 Beratung/Consulting: Penetrationstests / IT Security Audits
 Beratung/Consulting: Programmcodereview
 Beratung/Consulting: Auswahl und Vergleich von JavaScript-Webframeworks
 Beratung/Consulting: Unit Testing und Test Driven Development: Pro und Contra
 Beratung/Consulting: Migration zu .NET / Umstieg auf .NET
 Beratung/Consulting: Umstellung/Migration/Umstieg von ADO.NET Entity Framework auf Entity Framework Core
 Beratung/Consulting: Entity Framework versus Entity Framework Core
 Beratung/Consulting: Best Practices für moderne Webanwendungen mit HTML5, CSS3 und JavaScript
 Beratung/Consulting: Migration/Umstellung von Citrix auf Windows Remote Desktop Services von Microsoft
 Beratung/Consulting: Webtechniken, Web-Frameworks/-Bibliotheken und Web-Tools auswählen
 Beratung/Consulting: Integration/Kopplung von Azure DevOps Server (ADO) mit anderen Systemen
 Beratung/Consulting: Umstellung/Migration/Umstieg von ASP.NET-Anwendungen von .NET Framework auf ASP.NET Core 6.0/7.0
 Beratung/Consulting: Webserverframeworks im Vergleich: ASP.NET versus node.js versus Ruby-on-Rails
 Beratung/Consulting: Einführung von DevOps mit Continuous Integration (CI) und Continuous Delivery (CD) in Ihrer Softwareentwicklung
 Beratung/Consulting: ADO.NET Entity Framework-Leistung / Entity Framework-Performance: Optimierung von Entity Framework-Datenzugriffen
 Beratung/Consulting: Umstellung/Migration/Umstieg von WPF-Anwendungen von .NET Framework auf .NET 6.0/.NET 7.0
 Beratung/Consulting: Cloud-Computing - Pro und Contra
 Beratung/Consulting: Entscheidung für ein Webframework: Angular versus React versus Vue.js versus Svelte
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Strategieplanung zum Praxiseinsatz
 Beratung/Consulting: Umstieg auf aktuelle Windows-Versionen (Windows-Migration)
 Beratung/Consulting: Microsoft SQL Server, Oracle oder MongoDB - Planung, Installation und Konfiguration
 Beratung/Consulting: Best Practices bei der Softwareentwicklung mit .NET/ASP.NET/WPF/WCF/Entity Framework u.a.
 Beratung/Consulting: Moderne Webanwendungen/Webprogrammierung mit Blazor (ASP.NET Core Blazor)
 Beratung/Consulting: Design und Usability ("User Experience - UX") von modernen Webanwendungen
 Beratung/Consulting: Azure DevOps Server / Azure DevOps Services - Review
 Beratung/Consulting: Webanwendungen optimieren und skalieren (Website-Performance verbessern)
 Anfrage für Beratung/Consulting zu Regulä rer Ausdruck RA  Gesamter Beratungsthemenkatalog  Technischer Support zum Regulä rer Ausdruck RA

Schulungen zu diesem Thema

 DevOps / Continuous Integration (CI) / Continuous Delivery (CD) mit Ansible
 PMI Agile Certified Practitioner
 Design und Usability von modernen Software-Benutzeroberflächen (Software Ergonomie/Benutzungsfreundlichkeit/User Interaction Design/User Experience)
 Neuerungen in .NET Core 2.1/2.2 gegenüber Version 2.0 (inkl. ASP.NET Core, Entity Framework Core)
 AJAX mit ASP.NET (Microsoft AJAX Framework / ASP.NET AJAX Extensions / "Atlas")
 .NET 4.5.1/.NET 4.5.2/4.5.3 Update / Neuerungen in .NET Framework 4.5.1/.NET Framework 4.5.2/.NET Framework 4.5.3
 GUI-Programmierung mit der Rich Client Platform (RCP)
 Refactoring von Java-Programmcode
 Windows Server 1709 Update (Neuheiten für Administratoren gegenüber Windows Server 2016)
 Webbasistechniken: HTTP, HTML und CSS (Crashkurs)
 Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
 Atlassian JIRA
 Grundlagen der objektorientierten Programmierung anhand von C# oder Visual Basic .NET
 Konfigurationsinformationen in .NET und .NET Core
 Java-Programmierung mit Lambdas und Streams
 Umstieg auf WPF Core 8.0/9.0 in .NET 8.0/9.0 (Umstellung/Migration von WPF-Anwendungen von .NET Framework auf .NET 6.0/7.0/8.0)
 Microsoft SQL Server - Automatisierung der Administration (Scripting)
 Microsoft Exchange Server im Überblick (für Administratoren)
 Java Enterprise (JEE) Frameworks
 Windows 8/Windows 8.1 für Administratoren
 Windows Vista für Entwickler (Programmieren für Windows Vista)
 Active Directory für Administratoren
 Bereitstellung und Management von BizTalk-Lösungen (Microsoft Biztalk Server für Administratoren)
 Dojo Webframework
 Softwarearchitektur - praktisch angewendet
 Achtsamkeit – im Hamsterrad kommen Sie nicht weit
 MySQL-Datenzugriff mit dem .NET Framework
 Windows UI Library 3 (WinUI 3) für Umsteiger von WPF
 Linux-Systemprogrammierung
 Windows Server 2012 oder Windows Server 2012 R2 für Administratoren (Neuheiten gegenüber Windows Server 2008 R2)
 Anfrage für eine individuelle Schulung zum Thema Regulä rer Ausdruck RA  Gesamter Schulungsthemenkatalog

Bücher zu diesem Thema

  C# 13.0 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 9.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 8.0
  C# 12.0 Crashkurs
  C# 11.0 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 7.0
  PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
  Vue.js 3 Crashkurs
  Moderne Datenzugriffslösungen mit Entity Framework Core 6.0
  C# 10.0 Crashkurs
  Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
  C# 9.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET 5.0, .NET Core und Xamarin
  Windows PowerShell 5 und PowerShell 7: Das Praxisbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 5.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.1
  C# 8.0 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 3.0
  Windows PowerShell 5.1 und PowerShell Core 6.1 - Das Praxishandbuch
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.1/2.2
  C# 7.3 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Modern Data Access with Entity Framework Core: Database Programming Using .NET, .NET Core, UWP, and Xamarin with C#
  Windows PowerShell und PowerShell Core - Der schnelle Einstieg: Skriptbasierte Systemadministration für Windows, Linux und macOS
  Programmierung in Python
  C# 7.2 Crashkurs: Die Syntax der Programmiersprache C# für die Softwareentwicklung in .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0/2.1
  Effizienter Datenzugriff mit Entity Framework Core: Datenbankprogrammierung mit C# für .NET Framework, .NET Core und Xamarin
  Moderne Datenzugriffslösungen mit Entity Framework Core 2.0
  Windows PowerShell 5 und PowerShell Core 6 - Das Praxishandbuch
  Angular - Das Praxisbuch zu Grundlagen und Best Practices
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.0, 1,1 und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1 und 2.0-Preview2
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.x und 2.0
  Introducing Bootstrap 4
  Programming Web Applications with Node, Express and Pug
  Einführung in TypeScript: Grundlagen der Sprache TypeScript 2
  Web-Programmierung mit Node, Express und Pug
  Moderne Datenzugriffslösungen mit Entity Framework Core 1.1
  Windows PowerShell 5.0 - Das Praxishandbuch
  PHP 7 und MySQL: Von den Grundlagen bis zur professionellen Programmierung
  .NET Praxis - Tipps und Tricks für .NET und Visual Studio
  Bootstrap 3 - Stile und Komponenten
  Bootstrap 4 - Stile und Komponenten
  Moderne Datenzugriffslösungen mit Entity Framework 6
  Windows PowerShell 4.0 - Das Praxishandbuch
  JavaScript: Das umfassende Handbuch, inkl. HTML5, JavaScript-Frameworks, jQuery, OOP
  C++11 für Programmierer
  Scripting mit Windows PowerShell 3.0 - Der Workshop: Skript-Programmierung mit Windows PowerShell 3.0 vom Einsteiger bis zum Profi
  Windows 8 für Administratoren
  Windows Store Apps entwickeln mit C# und XAML - Crashkurs
  Datenbankprogrammierung mit .NET 4.5
  C++11: Der Leitfaden für Programmierer zum neuen Standard
  Datenbankprogrammierung mit .NET 4.0. Mit Visual Studio 2010 und SQL Server 2008 R2
  Office 2010 Programmierung mit VSTO und .NET 4.0: Word, Excel und Outlook erweitern und anpassen
  Programmieren mit dem ADO.NET Entity Framework
  .NET 4.0 Crashkurs
  Windows PowerShell 2.0 - Das Praxishandbuch
  PHP 5-Migration
  SQL Server 2008 R2: Das Programmierhandbuch. Inkl. ADO.NET 3.5, LINQ to Entities und LINQ to SQL
  Windows PowerShell 2.0 - Crashkurs
  Windows 7 für Administratoren
  .NET 3.5 Crashkurs
  Webanwendungen mit ASP.NET 3.5 und AJAX Crashkurs
 Alle unsere aktuellen Fachbücher  E-Book-Abo für ab 99 Euro im Jahr