[英]preg_match problem
我正在嘗試從php中的字符串中獲取一些東西。 在RegexBuddy和正則表達式測試器(firefox插件)中,它工作良好,但是php為我提供了以下內容:
警告:preg_match()[function.preg-match]:編譯失敗:第62行的D:\\ path \\ example.php中偏移量34處的括號不匹配
我的模式是"/.{4}_tmp\\\\([A-Za-z0-9.\\\\]*)\\(([0-9]*)\\) : (.*)/i"
示例字符串: C:\\Temp\\browseide\\projects\\32\\821C_tmp\\SourceFiles\\main.c(8) : error C2143: syntax error : missing ';' before 'for'
C:\\Temp\\browseide\\projects\\32\\821C_tmp\\SourceFiles\\main.c(8) : error C2143: syntax error : missing ';' before 'for'
RegexBuddy得到了什么:
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'
您需要在PHP字符串中轉義反斜杠:
"/.{4}_tmp\\\\([A-Za-z0-9.\\\\]*)\\(([0-9]*)\\) : (.*)/i"
一旦PHP字符串解析了該字符串,您最終需要再次轉義反斜杠:
/.{4}_tmp\([A-Za-z0-9.\]*)\(([0-9]*)\) : (.*)/i
嘗試echo "/.{4}_tmp\\\\([A-Za-z0-9.\\\\]*)\\(([0-9]*)\\) : (.*)/i";
如果要在模式中使用\\\\
,則應在雙引號中包含\\\\\\\\
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.