Hallo Ich muss eine Zeichenfolge anpassen, die 0 + Bindestriche zwischen den Zeichen haben kann. Ich benutze PHP preg-match, um dies zu tun. Die Zeichen können Groß- oder Kleinbuchstaben sein. Hier ein paar Beispiele:Regex, um Zeichenkette mit keiner zu mehreren Bindestrichen zu entsprechen
TESTTESTtest published successfully
test-TEST-test published successfully
Test-test published successfully
Meine Regex muss all diese verschiedenen Fälle erfassen.
Ich gehe Zeile für Zeile durch ein Protokoll und versuche, die Regex unten an jede Zeile anzupassen.
Dies ist meine aktuelle if-Anweisung:
if(preg_match('/(\w*) published successfully/',$line,$matches){
}
habe ich nur \ w * wie mein Charakter Capture, da ich nicht vor etwa Bindestriche zu kümmern brauchte, aber ich brauche diese anzupassen das neue Szenario zu behandeln . Kann mir jemand helfen?
Könnten Sie bitte erklären, was Sie tun und warum 'expode (" - ", $ s)' nicht funktioniert? –
Hallo Ich habe zusätzliche Informationen zu meiner ersten Frage hinzugefügt, nicht sicher, wie ich in diesem Fall explodieren würde, aber ich hatte wahrscheinlich nicht genügend Informationen zur Verfügung gestellt. – olliejjc16
Gut, hast du nicht an Charakterklassen gedacht? Wie '[\ w -] *'? Müssen Sie sich über Fälle wie "------ erfolgreich veröffentlicht" Gedanken machen? –