The problem with preg_match
I am trying to get some stuff from a string in php. In RegexBuddy and regex (firefox addon) it works well, but php gives me this:
Warning: preg_match () [function.preg-match]: compilation Failed: Matching parentheses at offset 34 in D: \ path \ example.php on line 62
my pattern "/.{4}_tmp\\([A-Za-z0-9.\\]*)\(([0-9]*)\) : (.*)/i"
example line: C:\Temp\browseide\projects\32\821C_tmp\SourceFiles\main.c(8) : error C2143: syntax error : missing ';' before 'for'
what RegexBuddy gets:
821C_tmp\SourceFiles\main.c(8) : error C2143: syntax error : missing ';' before 'for'
Group 1: SourceFiles\main.c
Group 2: 8
Group 3: error C2143: syntax error : missing ';' before 'for'
a source to share
You need to escape the backslash again once the PHP line checks that line, which results in you:
/.{4}_tmp\([A-Za-z0-9.\]*)\(([0-9]*)\) : (.*)/i
Try echo "/.{4}_tmp\\([A-Za-z0-9.\\]*)\(([0-9]*)\) : (.*)/i";
You must have \\\\
inside your double quotes if you want \\
in the template
a source to share