2017-02-17 8 views
-1

Ich suche nach einem Regex, um eine Zahl nach einer bestimmten Zeichenfolge auszuwählen. Ich habe den positiven Blick hinter die Syntax gefunden, aber das wird in Javascript nicht unterstützt.Regex finde Nummer nach spezifischem String

Hier ist mein Beispiel: /Test/Person/erstellen PersonId = 1234

Diese Regex mir die richtigen Ergebnisse liefert, verwendet aber hinter positiven Blick und ist nicht in JS unterstützt:

(?<=\/Test\/person\/create\?personId=)(\d+) 

Ich möchte die Regex "1234" auswählen, aber sonst nichts. Es muss auch nur mit der spezifischen URL funktionieren und keine anderen.

Danke !!

Antwort

0

Sicher, dass Sie das negative Lookahead verwenden können, das von JS unterstützt wird.

regex: (?!\/Test\/person\/create\?personId=)1234
Suche: /Test/person/create?personId=1234
Spiele: 1234

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

+0

Das Problem mit Ihrer vorgeschlagenen regex ist, dass es die Zeichenkette "1234" auf seiner besitzen. Ich brauche eine, die nur die Nummer direkt nach der angegebenen URL erfasst. – Nico

+0

@Avocado Ich verstehe es nicht. Sie haben nach 1234 gefragt und ich habe Ihnen eine Antwort gegeben? –

+0

Das Problem ist, dass es die "1234" nach jeder URL akzeptiert. Hier ist eine Demo: https://regex101.com/r/hEU3tV/3 – Nico

1

Ohne negative Vorschau Sie verwenden: -

'/Test/person/create?personId=1234'.match(/\/Test\/person\/create\?personId=(\d+)/)[1]