Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

C# RegEx Problem

Empfohlene Antworten

Veröffentlicht

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

  • 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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.