2016-05-05 7 views
2

Hallo, ich versuche eine Regex zu verwenden, um ein "/" durch "/ n:" zu ersetzen. Das Problem, das ich habe, ist, dass ich möchte, dass dies geschieht, es sei denn, auf das "/" folgt ein "@", also "/ @".Regex entspricht einem Strich, auf den kein "@" Zeichen folgt

Ich hatte ein Muster wie dieses "// [^ @] /" und während dies das "/" beim Ignorieren von "/ @" erhält, entspricht es auch dem folgenden Buchstaben. Ich muss nur das "/" anpassen. Kann mir jemand helfen, danke.

Edit: Hinzugefügt Beispiel String

/module/y-version/@value 
+0

fügen Sie Ihr Beispiel String .... –

Antwort

3

Sie ein negative lookahead verwenden:

'~/([email protected])~' 

Siehe regex demo

Die [^@] ein negated character class ist, und ist ein Muster aufwendig, während der Lookahead nur den Text rechts vom aktuelle Position in der Zeichenfolge und schlägt die Übereinstimmung fehl, wenn das Lookahead-Muster die Übereinstimmung findet.

+1

Dies ist genau die Antwort, die ich brauchte, vielen Dank! – olliejjc16

Verwandte Themen