2016-05-04 39 views
1

Ich möchte Wörter, die mit "o", "s", "x", "ch" oder "sh" enden, aber aus irgendeinem Grund entspricht jedes Wort, das eines von hat diese Buchstaben.Verwenden von Lookahead, um das letzte Zeichen zu finden

Es ist meine regex:

o|s|x|ch|sh(?=$) 

Einige Beispiele:

  • Hummer // Sollte nicht
  • Pfirsich passen // Sollte
  • Experten passen // Sollte passen nicht
  • Kartoffel // Sollte übereinstimmen

Antwort

0

Sie müssen Gruppe der Wechsel sonst wird sie interpretiert als:

.*(?:o|s|x|ch|sh)(?=$) 

Und die .* ermöglicht das vollständige Wort:

o OR s OR x OR ch OR sh(?=$) // pseudo-code 

Sie eine Nicht-Capture-Gruppe zu Gruppe sie zusammen verwenden können passen.

Regex101

+1

Danke, ich vermisste nur die Klammern :) – developer033

+0

Sie sind willkommen! :) – timolawl