2017-05-17 2 views
0

Im Verwenden von Visual Studio 2012 - Web Performance Testing-Tool.Regulärer Ausdruck für URL in C Sharp für Leistungstests

Hier habe ich eine Referer URL so. (Dies ist etwa 30 Zeilen lang, aber ich habe es kurz gehalten)

https://first URL/Second/Third/Fourth/fünf/Search? Json =% 7B% 22SalesInventoryID% 22% 3Anull% 2C% 22BundleInventoryID% 22% 3Anull % 2C% 22InventarVerkaufPreisID% 22% 3Anull% 2C% 22SiteTyp% 22% 3A8% 2C% 22SiteName% 22% 3A% 22Desert% 20Club% 22% 2C% 22PointsMin% 22% 3A1% 2C% 22PointsMax% 22% 3A999999% 2C% 22RoomType % 22% 3Anull% 2C% 22PreisMin% 22% 3A1% 2C% 22PreisMax% 22% 3A999999% 2C% 22SeasonType% 22% 3Anull% 2C% 22FrequenzTyp% 22% 3Anull% 2C% 22CheckInType% 22% 3Anull% 2C% 22WeekMin% 22 % 3A1% 2C% 22WocheMax% 22% 3A52% 2C% 22RoomMin% 22% 3A% 221% 22% 2C% 22RoomMax% 22% 3A% 22999999% 22% 2C% 22TourID% 22% 3A2022154% 2C% 22TourLocationID% 22% 3A54 % 2C% 22ListResults% 22% 3Anull% 2C% 22BundledResults% 22% 3Anull% 2C% 22TourTeilnehmerInfo% 22% 3A% 7B% 22TourID% 22% 3A2022154% 2C% 22SiteID% 22% 3A1% 2C% 22SiteName% 22% 3Anull% 2C % 22PersonID% 22% 3A364182% 2C% 22FirstName% 22% 3A% 22Lynn% 20A.% 22% 2C% 22La stName% 22% 3A% 22McDougald% 22% 2C% 22Stadt% 22% 3A% 22Charlotte% 22% 2C% 22State% 22% 3A% 22-% 22% 2C% 22ShortState% 22% 3A% 22-% 22% 2C% 22Country% 22% 3Anull% 2C% 22CountryID% 22% 3A840% 2C% 22OwnerNumber% 22% 3A% 226.017.104% 22% 2C% 22OwnerStatus% 22% 3Anull% 2C

Nach Suchergebnissen, alles ständig ändert.

Kann jemand bitte sagen Sie mir, tun ho ich es tun, wenn ich etwas brauche nach "/ viertem"

wie ich brauche es gerade wie diese - https://first URL/Second/Third/Fourth/

I versucht:

https://first URL/Second/Third/Fourth/.* 

und

https://first URL/Second/Third/Fourth/(.*) 

es nicht funktioniert hat.

+0

fein Ihre regex Arbeit, man muss nur die jeweils '/' (writting '\ /' statt) – Gawil

+0

entkommen Wenn Sie es nicht den ersten Teil wollen, legen Sie in einem Lookbehind, wie folgt aus: '(? <= https: \/\/erste URL \/Second \/Third \/Fourth \ /)' – Gawil

Antwort

0

Basierend auf der Regex von @degant

https:\/\/[^\/]+\/[^\/]+\/[^\/]+\/[^\/]+\/(.*)

Capture-Gruppe für alles über die vierter Abschnitt. Und dynamischer Inhalt für die vorhergehenden Abschnitte, damit "alles nach dem vierten Abschnitt" statt expliziter Inhalte für jeden Abschnitt verwendet wird.

https://regex101.com/r/km53lt/3

0

Um alles nach dem vierten URL verwenden Sie die unten

https?:\/\/(?:[^\/]+\/){4}(.*) 

und dann verwenden Gruppe erfassen 1 den gesamten Text nach dem vierten / zu erhalten.

Sie können es hier testen: Regex101 Demo

EDIT: Vorschläge von @Doqnach

+0

'https: \/\/[^ \ /] + \/[^ \ /] + \/[^ \ /] + \/[^ \ /] + \/(. *) ' um es etwas dynamischer zu machen, falls die Pfadabschnitte auch den Inhalt ändern können. https://regex101.com/r/km53lt/3 – Doqnach

+0

Danke, guter Punkt! Ich ging davon aus, dass OP die Basis-URL abgleichen wollte. – degant

+0

Wenn die Leistung wichtig ist, ist die Wiederholung von '[^ \ /] + \ /' ein kleines bisschen schneller als die Verwendung des '(?: ...) {4}'. Der Unterschied ist jedoch unglaublich klein, also wird Sie wahrscheinlich nicht viel beeinflussen (20 vs 25 Schritte). – Doqnach