2017-10-09 4 views
0

Zwei RegexMuster sind alsWie findet man ein Regex-Muster als Teilmenge eines anderen?

pattern1 = "/ api/v1/foo/bar/*"

und andere sagen, zum Beispiel

pattern2 = „/ api folgt/v1/*“

ich möchte, dass das Muster, um sicherzustellen, die unterunter pattern1 Ausweiseauch.

Dafür, wie zu finden, dass pattern1 ist die Teilmenge von pattern2 programmgesteuert? Jede Hilfe in dieser Hinsicht ist sehr zu begrüßen.

+0

'patt1.test (patt2)' –

+0

@ RokoC.Buljan pattern2 ist kein String es ist eine andere RegexMuster. Ich möchte sicherstellen, dass alles, was unter pattern2 passiert, in pattern1 passieren muss –

+0

@queenritchie - Es gibt keine Möglichkeit, dies zu tun. Die einzige Korrelation besteht zwischen Zielzeichenfolgen zwischen ihnen. Generieren Sie eine unendliche zufällige Reihe von Zielzeichenfolgen und testen Sie beide für eindeutige Übereinstimmungen. Wenn _all_ nicht übereinstimmen, divergieren die Regex. – sln

Antwort

1

können Sie diesen Code verwenden:

var pattern1 = "/api/v1/foo/bar/*" 
var pattern2 = "/api/v1/*" 

var r2 = new RegExp ('^'+pattern2); 
alert(r2.test(pattern1)) //true 
+0

Ich konnte nicht verstehen, was hier passiert ... Bitte erklären Sie mir ... –

Verwandte Themen