2016-07-29 36 views
0

Ich versuche, die Teile einer Zeichenfolge zu erfassen resultierenden Daten zu haben, wie folgt aus:PCRE regex diese Zeichenfolge zu erfassen

name#foo|bar:str1,str2,str3 
anothername#bar|zar 

wo die Eingabezeichenfolge in Form ist: name#foo|bar:str1,str2,str3,anothername#bar|zar

Das Problem ist die Trennung der anothername von den vorhergehenden Argumenten, da es immer noch ein Komma verwendet, um es zu trennen.

Ich habe versucht mit einem Lookahead und auch ein Submuster ohne Glück!

preg_match_all('/([^,]+#.+(?:[^,]+#)?)/', $input, $matches, PREG_SET_ORDER); 
+2

[ '([^] + # * (= [^] + # |?.??? $))'] (Https://regex101.com/r/aN9sQ4/1) – Siguza

Antwort