2016-07-11 7 views
1

Ich versuche diese Regex, aber zusammen mit Großbuchstaben passt es irgendwie Kleinbuchstaben.Regex passt Großbuchstaben, Leerzeichen, & Symbol und Apostrophe vom Anfang der Zeichenfolge bis zum ersten Komma

preg_match("/^([A-Z&\s\']+),/i", $line, $match); 

Irgendwelche Ideen, wo ist mein Fehler? Danke!

+0

Können Sie ein Beispiel dafür erstellen, was Sie abgleichen möchten und wie es fehlschlägt? – Rizier123

+1

Kann nicht reproduziert werden ... Können Sie Screenshots und/oder Beispiele bereitstellen? – Confiqure

+0

wo ist der rest des php dafür, hast du die '\ i'flagge? – ArtisticPhoenix

Antwort

1

Sie müssen die Groß- und Kleinschreibung Modifikator /i entfernen:

preg_match('/^([A-Z&\s\']+),/', $line, $match); 
          ^

Andernfalls wird die [A-Z] Bereich passt sowohl [a-z] und [A-Z] Bereiche.

Muster Details:

  • ^ - Beginn der Zeichenfolge
  • ([A-Z&\s\']+) - Gruppe 1 Erfassen 1 oder mehr Großbuchstaben ASCII-Buchstaben (A-Z), eine wörtliche &, Leerzeichen (\s) oder eine wörtliche '
  • , - ein Komma
Verwandte Themen