2016-03-30 5 views
-2

Ich würde gerne in der Lage sein, neue RegExp() in JS verwenden, um Wörter wie Macys zu Macys passen. Kann mir jemand zeigen, wie sie das bitte erreichen würden? Dies wird für eine Suchfunktion verwendet und ich möchte Ergebnisse zurückgeben, wenn der Benutzer die Rechtschreibung der Marke macys eingibt.Verwenden Sie Javascript Regex Macys zu Macy

+2

'/ Macy 's /' würde nicht funktionieren? –

+0

Sie wollen ehrlich nicht Ihre eigene Suchmaschine schreiben. Was ist mit verschiedenen Schreibweisen, Tippfehlern und unscharfer Suche? Es gibt viele Bibliotheken, die das schon für Sie tun. – Christoph

+0

Ich müsste den Index des Apostrophs finden und das '?' zu jeder Abfrage. Schlägst du das vor? Hätte gehofft, es gäbe einen einfacheren Weg zu sagen, ob Macys oder Macys – stu6188

Antwort

2
/macy'?s/gmi 

macy passt die Zeichen

macy 

wahrsten Sinne des Wortes (Groß- und Kleinschreibung)

'? 

den Charakter passt 'buchstäblich

Quantifizierer:? Zwischen Null und einer Zeit, so oft wie möglich, so dass je nach Bedarf zurück [gierige]

s 

entspricht das Zeichen s buchstäblich (Groß- und Kleinschreibung)

g Modifikator: global.

Demo: https://regex101.com/r/tV6yG1/1

PS: Ich bin der Stapel android app, und ich kann den Code nicht formatiert werden, wie Ich mag würde, aber Sie die Idee von dem, was benötigt wird.

0

Wie @torazaburo wies darauf hin: /Macy'?s/ ist die Regex Sie wollen. Wenn Sie möchten, dass Groß- und Kleinschreibung nicht berücksichtigt wird, fügen Sie am Ende der Regex das Flag i hinzu.

/Macy'?s/i.test('Macys'); // true 
/Macy'?s/i.test("Macy's"); // true 
/Macy'?s/i.test("macys"); // true