AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[RegEx?] Gültiger Vorname

Ein Thema von Die Muhkuh · begonnen am 1. Aug 2009 · letzter Beitrag vom 1. Aug 2009
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

[RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 11:11
Hi,

ich versuche gerade per RegEx (in PHP per preg_match) einen Vornamen zu matchen. Als gültiger Vorname ist definiert:
  • Es darf keine Zahl vorkommen
  • Leerzeichen und Bindestrich sind erlaubt
  • Alle Buchstaben von A bis Z sind erlaubt

Allerdings matcht meine RegEx auch Dinge wie:
  • -Hans Peter
  • 234Peter
  • 23Pet32er (hier kommt als Ergebnis Pet heraus)
  • 23-Hans-Joac32him (hier kommt als Ergebnis Hans-Joac heraus)

Das sollte natürlich nicht sein.

Meine RegEx sieht bisher so aus:

#[a-zA-Z]+(?(?=\s?-?[a-zA-Z]+)\s?-?[a-zA-Z]+)#

Vielleicht ist auch RegEx der falsche Ansatz? Ich könnte auch einfach alle Buchstaben in einen gültigen Pool werfen und sobald ein Zeichen nicht in diesem Pool ist, ist der Name falsch, aber vielleicht geht es auch per RegEx.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#2

Re: [RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 11:59
Code:
/^[a-zA-Z -]+$/
Das würde deine Definition erfüllen (durch die Verankerung mit ^ und $ kannst du erzwingen, dass der gesamte String gematcht werden muss). Mit Umlauten etc. siehts allerdings schlecht aus , da würde ich lieber folgendes probieren:
Code:
/^\pL+$/u
Dein erstes Gegenbeispiel matchen allerdings beide, denn rein von den Zeichen her wäre es ja valide. Du willst wohl eher "ein oder mehrere Wörter, die durch Bindestrich oder Leerzeichen getrennt sind":
Code:
/^(\pL+[ -])*\pL+$/u
Das matcht auch "Hans-Joachüm Maria".
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

Re: [RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 12:33
also mal aufgeteilt
[A-ZÄÜÖ]+[a-zßäüö]* ist erlaubt - für deutsche Namen - klein und eventuell der 1. Buchstabe groß)
Leerzeichen und "-" nur zwischen buchstaben

und das müßte man nun irgendwie zusammenbauen
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 12:55
Hi,

ich hab Deine letzte RegEx bei zwei verschiedenen Seiten getestet und beide spucken mir "PCRE does not support \p \P \l \L" an den Kopf.

http://www.solmetra.com/scripts/regex/index.php
http://www.regex-tester.de/regex.html

Ich bin gerade am Googlen, ob das wirklich an PCRE liegt oder ob neuere Versionen das unterstützen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: [RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 13:00
das \pL könnte für Letter stehn ... wäre och logisch und dann dürftest du auch [A-Za-zßäüö] dafür nehmen können
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: [RegEx?] Gültiger Vorname

  Alt 1. Aug 2009, 13:59
Zitat von Die Muhkuh:
ich hab Deine letzte RegEx bei zwei verschiedenen Seiten getestet und beide spucken mir "PCRE does not support \p \P \l \L" an den Kopf.
Der zweite Link funktioniert bei mir, allerdings nur ohne u-Modifier: http://www.regex-tester.de/uc_711_de.html
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz