I pcre (php) reguläre Ausdrücke bin mit und haben die folgenden regulären Ausdruck entwickelt:Wie stellen Sie sicher, dass Ihre regulären Ausdruck das Auftreten eines Spiels entspricht
(?:-?)(?:[A-Z’\s\.-]{8}.*)(?:NY\s?|ON\s?|FL\s){1}([A-Z].*)(?:M\s\d{1,2}\s.*|F\s\d{1,2}.*)
, dass ich versuche zu bewerben die folgenden Zeichenfolgen. Unter jeder Zielzeichenfolge habe I und dem tatsächliche Spiel gewünschtes Spiel vorgesehen:
SUNDAY GEISHA-SUNDAY BREAK-JP NYHIT IT ONCE MORE M 13 1116 Race 1
Desired Match: HIT IT ONCE MORE
Actual Match: CE MORE
LOAD UP-DOVE HUNT FL SUMMATION TIME M 11 6T Race 6
Desired Match: SUMMATION TIME
Actual Match: TIME
TEMPLE STREET-STREET CRY-IR KY DONWORTH M 12 1 Race 9
Desired Match: DONWORTH
Actual Match: WORTH
jeweils statt beim ersten Auftreten einer Übereinstimmung zu stoppen, wird der reguläre Ausdruck mehr die Saite und passende zweites Spiel Auftreten raubend.
Sie können ein funktionierendes Beispiel hier bei regex101.com sehen: WORKING EXAMPLE
Wie kann ich meine regulären Ausdruck bekommen, das erste Spiel zu stoppen, damit ich meine gewünschte Ausgabe erreichen? Ich würde auch gerne Hinweise dazu bekommen, wie ich meinen Ausdruck verbessern kann.
Danke für Ihre Eingabe.
Vielleicht, wenn Sie 'NY' übereinstimmen,' ON ',' FL' sollten Sie sicherstellen, dass ein Leerzeichen oder '-' vorangestellt ist, aber Sie werden immer noch Probleme mit Phrasen haben, die mit diesen Buchstaben beginnen. Ich denke, dass dieses Problem nicht mit nur einer Regex gelöst werden kann, es erfordert ein Wörterbuch englischer Wörter, um es 100% richtig zu machen. – Mike
@Mike Wenn du ein Wörterbuch englischer Wörter sagst, was meinst du? Kannst du mich zu einem Beispiel führen, auf das du dich beziehst? – Mutuelinvestor
Ich meine, dass im Allgemeinen gibt es keine Möglichkeit zu tun, was Sie wollen, es sei denn, Sie wissen zum Beispiel, dass "NYHIT" kein Wort ist. – Mike