2017-08-22 2 views
0

Ich brauche Hilfe mit URL-passender Regex. Ich lese die Regex-Syntax-Dokumentation, aber es ist so komplex.URL passend für Regex

Ich versuche, eine URL-Liste für einen Checkout-Trichter zu erstellen, wie würde ich Regex für die folgenden einrichten?

https://shop.mysite.ca/[unique ID]/checkouts/[unique ID 2] 
OR 
https://shop.mysite.ca/[unique ID]/checkouts/[unique ID 
2]?step=contact_information 

Was ich habe, so weit, wenn auch nicht sicher, wie der optionalen Parameter "Schritt = contact_information" setzen)

/^(https:\/\/shop.mysite.ca\/)([\da-z]+)(\/checkouts\/)([\da-z]+)$/ 

Antwort

1

Sie ein verwenden können "?" Um eine Gruppe entweder 0 oder 1 Mal erscheinen zu lassen, ist dies optional.

/^(https:\/\/shop.mysite.ca\/)([\da-z]+)(\/checkouts\/)([\da-z]+)(\?step=contact_information)?$/ 
0

diese

^(https:\/\/shop.mysite.ca\/)([\da-z]+)(\/checkouts\/)([\da-z]+)((\?step=contact_information)*)$ 

bearbeiten funktionieren sollte: vergessen, die ? und verwendet stattdessen *. Die andere Lösung von @Thomas ist ein bisschen besser ich denke

0

Probieren Sie es aus:

^(https:\/\/shop.mysite.ca\/)(\d+.)(\/checkouts)(\/)(\d+.)($|\?\w.+$) 

Wenn eindeutige ID mit nicht Zahlen characteres zusammen:

^(https:\/\/shop.mysite.ca\/)([\da-zA-Z]+.)(\/checkouts)(\/)([\da-zA-Z]+.)($|\?\w.+$)