2017-08-25 3 views
0

Ich muss Links mit einer bestimmten Anzahl von Zahlen und eine Zeichenfolge in ihrer URL in Google Analytics, so dass ich einen Filter einrichten.Regex, um eine Zeichenfolge innerhalb einer URL

Dies ist meine Eingabe url: http://website.com/content/123/12/1234?utm_source=ABC&utm_campaign=ThisIsWhatINeed

In diesem Link, ich brauche die Regex übereinstimmen/content/123/12/1234 (oder beliebige Zahlen im xxx/xx/xxxx-Format) und auch zu passen die genaue Zeichenkette ThisIsWhatined

Ich habe die Regex \/content\/\d+\/\d+\/\d+, um die Nummer Teil /content/123/12/1234, und das funktioniert gut. Aber ich kann nicht herausfinden, wie man die ThisIsWhatINeed auch zusammenbringt. Ich habe versucht \/content\/\d+\/\d+\/\d+ThisIsWhatINeed, aber ein wichtiger Teil fehlt.

Ich habe einen Regex-Tester verwendet und es sagt, dass alles übereinstimmt, aber am Ende bekomme ich die Nachricht 'Globale Musterflags g Modifikator: global. Alle Matches (nicht nach dem ersten Matches) '

Ich werde gestehen, ich bin sehr neu in Regex und lerne gerade, was alle Token bedeuten.

PS - Ich weiß, dass ich Kampagnen mit anderen Mitteln in GA herausziehen kann - ich habe einen bestimmten Grund für diesen Filter

+0

Nicht blind auf den Regex-Tester-Sites testen. In GA (RE2) regex müssen Sie nicht '/' z. Sie müssen möglicherweise auch nur Gruppen erfassen. Probiere ['(/content/[0-9]+/[0-9]+/[0-9]+).*utm_campaign=([^&]*)'](https://regex101.com/ r/Pcm0jy/2) in GA. –

Antwort

-1

Wenn Sie die gesamte Zeichenfolge übereinstimmen soll einzurichten benötigen:

Passend der /123/12/1234 Teil können Sie eine Zeichenklasse verwenden. Um einen eher generischen Link zuzuordnen, können Sie http://website.com/ in nur .*? austauschen. Um Ihre Zeichenfolge nach dem Kampagnenattribut anzupassen, können Sie eine negierte Zeichenklasse verwenden, die in der Zeichenklasse mit ^ markiert ist. Das bedeutet, dass das Muster zu jedem Zeichen passt, solange es kein & Zeichen ist.

http://website.com/content/[\d/]+.*?utm_campaign=[^&]*? 

Um den globalen Modifikator erklären: Normalerweise wird Ihr Versuch, etwas mit regex passen auf das erste Spiel zurückkehren würde. Wenn Sie also versuchen, mehrere Links zu verknüpfen, wird die erste Übereinstimmung zurückgegeben und Ihre Anfrage wird beendet. Wenn das globale Flag gesetzt ist, passt das Muster so oft wie möglich und kehrt zurück, wenn keine Übereinstimmung mehr vorhanden ist.

Hoffe, das hilft!

+0

Danke, ich schätze die Antworten und ihr beide seid freundlich zu einem unwissenden Neuling! Beide Antworten haben angegeben. * Utm_campaign = ([^ &] *) stimmt mit dem Kampagnenteil des Links überein, aber es handelt sich um eine bestimmte Kampagne, die ich zuordnen muss, keine Verknüpfung mit einem Kampagnen-Tag. Ich habe es bearbeitet zu (\/content \/\ d + \/\ d + \/\ d +. * bananen), was im regex tester zu funktionieren scheint, aber nicht in GA. GA würde nichts anderes akzeptieren oder wenn ich es versuchen wollte die Flucht (ich habe sie wahrscheinlich nur falsch gelöscht). – Derah

Verwandte Themen