2016-07-12 8 views
-1

Dieser Javascript Regex versucht, für die Anwesenheit von "ihm oder ihr" und die Nummer 1.5 in einer gegebenen Zeichenfolge zu testen, aber ich bin nicht in der Lage, es zur Arbeit zu bekommen. Wie kann es gemacht werden? DankRegex Test für String oder andere

if(/^(him)|(her).+?1\.5$/.test('working with him or her more than 1.5')) 
+0

Ihre erste^bedeutet, zu testen, ob die Zeichenfolge mit ihm oder ihr anfangen sollte. Sie könnten "Arbeiten mit" in der Zeichenfolge entfernen oder "^" in der regulären Ausgabe entfernen. – progysm

+1

Wie * sollte * es funktionieren? Bitte geben Sie Ihre Anforderungen an. Sollte das Ergebnis für obiges * wahr * oder * falsch * sein? Wenn du meinst, eine Zeichenfolge sollte 'ihn',' ihre' und '1.5' haben, brauchst du überhaupt keine Regex, benutze' indexOf' –

+0

Suchst du den wörtlichen Text 'er oder sie' oder ist einer von die Begriffe "er" oder "sie" genügen für ein Spiel? Sollte "es" auch passen (es enthält 'sie')? Sollte '11.55' übereinstimmen? Sollte '1.50' übereinstimmen? –

Antwort

0

Verwenden .*? das Vorhandensein beider Strings

/(him or her).*?(1\.5)/.test('working with him or her more than 1.5') 
0

Nur /(him or her)(.*)(1\.5)/g sollte ausreichen, um alle Instanzen von Strings him or her oder 1.5 im gesamten Text zu erkennen. Beachten Sie, dass das Flag g für die globale Suche gilt.

Ich habe die Probe hier hinzugefügt: https://regex101.com/r/oN4aY3/3

+0

Er sucht ('er' oder' ihr') * und * '1.5'. –

+0

@TimPietzcker Das hat er nie erwähnt. Ich gab eine einfachere Lösung von dem, was er gefragt hatte. – activatedgeek

+0

'... auf die Anwesenheit von "ihm oder ihr" und der Nummer 1.5 ...' (nicht unbedingt in der gleichen Zeile, richtig. Ich habe diesen Teil aus meinem Kommentar entfernt). –

1

Diese Regex Sie auf das Vorhandensein von ‚ihm‘ und 1.5 durch aus Ihren Text testen helfen.

var reg = neue RegExp ("er oder sie. * 1.5 | 1.5. * Er/sie/g");

Schauen Sie sich diese Arbeitsprobe Here