Zum Inhalt springen

C# RegEx Problem


MarkusLe

Empfohlene Beiträge

Hallo alle zusammen,

ich arbeite gerade intensiv mit Regular Expressions und der .NET RegEx Engine.

Zurzeit bereitet mir eine Regular Expression Kopfschmerzen. Mit dieser Expression will ich Vornamen und Nachnamen einer Person Matchen.

Bsp.:

Müller-Wohlfart, Anna Kathrin geb. Spieß

Meine RegEx hat folgendes Format:

((?:[a-zA-ZäüöÄÜÖß_-]+[ ]?)+), ?((?:[a-zA-ZäüöÄÜÖß_-]+(?:[ ]|$))+)

Dies gibt mir das gewünschte Ergebnis.

(1)Müller-Wohlfart

(2)Anna Kathrin

Solange der Eingabestring gültig ist und die RegEx matcht, funktioniert alles tadellos. Doch sobald die RegEx nicht matcht, endet dies nicht als ein .IsMatch (...) == False. Nein, es endet überhaupt nichtmehr.

Bsp.:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

Wenn dieser String gematcht werden soll hab ich wohl irgendwie eine RegEx mit Endlosschleife bekommen, was muss ich an der RegEx ändern, damit es funktioniert.

Der Fehler tritt auf egal ab die RegEx compiliert oder nicht compiliert ist.

Hab auch schon versucht sie zu negieren.

((?:[^ ,.\d]+[ ]?)+), ?((?:[^ ,.\d]+(?:[ ]|$))+)

Hier tritt der gleiche Fehler auf.

Getestet habe ich die RegEx in "Espresso" im "RegEx Designer" und direkt in meinem c# code.

Weiß jemand eine Lösung für dieses Problem?

MfG

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hallo Argbeil,

Die Regex sollte erkennen, ob ein Vorname und ein Nachname, Kommagetrennt in der Zeile existieren. Also erstmal eine Validierung, zusätzlich sollen Vor- ,und Nachname ein Gruppe 1 und Gruppe 2 abgelegt werden, um sie in einem Personenobjekt abzulegen.

Das Problem habe ich denk ich mittlerweile gefunden.

Dieser Ausdruck erzeugt beinahe endlosviele Matches, weil praktisch jede moegliche Zeichenkombination gematcht wird.

(.+)+

Hab das Problem mittlerweile auf anderem Wege gelöst :)

Danke für deine Antwort

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...