2016-05-11 12 views
0

Ich habe die folgende Regex.MyBB - PHP regex

\[rep=([0-9]*?),([0-9]*?)\]([\w#]{4,11}),([\w#]{4,11}),([\w#]{4,11}),([\w#]{4,11})\[\/rep\] 

Für mich scheint völlig in Ordnung - es soll zum Beispiel die folgende Zeichenfolge übereinstimmen:

[rep=0,20]#fff,#fff000,#111,transparent[/rep] 

Und während es scheint, zum Beispiel arbeiten in,, RegExr, die MyCode für sie nur scheint nicht auszulösen.

+0

haben Sie mit ihm in https://www.regex101.com versucht zu spielen? – Martin

+0

Was ist 'MyCode'? Wie ist Ihre PHP-Nutzung? – chris85

+0

@Martin, es funktioniert in regex101.com. –

Antwort

0

Es sieht so aus, als würden Sie die delimiters nicht in Ihre PHP-Implementierung einfügen.

if(preg_match("/\[rep=([0-9]*?),([0-9]*?)\]([\w#]{4,11}),([\w#]{4,11}),([\w#]{4,11}),([\w#]{4,11})\[\/rep\]/", $str)) { 

} 

https://eval.in/568814

+0

Ich hatte gedacht, dass ich anfing, aber mit ihm auf regex101 nur unter der Annahme, dass die OP hatte negiert, um den vollständigen Code, nur die Anzeige ihrer tatsächlichen Abfrage Zeichenfolge (ohne Trennzeichen). – Martin

1

fand ich das Problem. Die Hashes # mussten maskiert werden.

\[rep=([0-9]*?),([0-9]*?)\]([\w\#]{4,11}),([\w\#]{4,11}),([\w\#]{4,11}),([\w\#]{4,11})\[\/rep\]