日期:2014-05-17  浏览次数:20527 次

求解一个正则表达式
PHP code
echo preg_replace( "|/browse/.*\\?lm=0&word=&pn=(.*)\">\\[(.*)\\]|isU", $_GET['id']."-\$1.html\">\$2", $value );


里面的\\? 这个是什么意思啊 为什么要加两个\\呢 还有\\[(.*)\\] 这个也不知道是什么意思啊 转义的话不是只要一个就好了的吗? 求大哥们能讲解我听下

------解决方案--------------------
\\ = \
------解决方案--------------------
? 0次或多次。防止贪婪匹配。
\\[(.*)\\] 其实 \[(.*)\] 这样就行了。
------解决方案--------------------
\\?
表示匹配一个可能存在的“\”字符
 \ 是转义符,所以 \ 作为字符时需要转义 \\
? 匹配 0 到 1 个字符