正则表达式 #号作用 echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999echo preg_replace('[/\\\\]',"999" , "aad/\\"); // 输出 aad999查资料查不到..请指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 放在一前一后时, 相当于定界符echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999echo preg_replace('@[/\\\\]@',"999" , "aad/\\"); // 输出 aad999999结果一样, 通常用/ , 但文中有了/, 就改其它的@,# preg_replace('#[/\\\\]#',"999" , "aad/\\");==preg_replace('|[/\\\\]|',"999" , "aad/\\");#,| 都可以做界定符,当然想要其他的符号做,也可以... ok ls的答案很清晰 温馨提示: 结账了!! 有定界符, 里面的/就是一般符号, 没就是转义第一个匹配两次 /\-->999 \-->999,第二个没定界符的, /是转义, 只匹配到字符串的一个\ , 所以一个999 终于有时间研究并结贴了,很遗憾,LS的大哥回答错误echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999echo preg_replace('[/\\\\]',"999" , "aad/\\"); // 输出 aad999第一个,# 作为定界符, [ ] 表达的意义是 内容的可能值,可能是 / \ ,所以匹配2次,替换成2个999第二个,也有 定界符 !! 定界符 就是 [] ,此时 [] 的意义不同与上面第一个!! 此时 因为有了定界符, 注意 /\\\\ 中的 \\\\ 先是字符串转义成 \\ ,再是 正则本身的转义,就成了 \ ,结果就是表达成了 /\ 字符串,正则的默认原则是贪婪,所以就把 aad/\ 中的 /\ 替换成了 aad999所以,得出结论是,研究正则,一定要仔细LS大哥看了你的回复结果真的是更迷糊,相信自己直觉是正确的 echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999echo preg_replace('[/\\\\]',"999" , "aad/\\"); // 输出 aad999/\\\\ 相当于 /\\普通的没有定界符的, \w \t \\ 是进行转义。而有了定界符后,不进行转义。个人建议,做为一个开发人员,执行一种标准为比较好。 用第二种会好一些。 高手来看看 php 接收别的地方post过来的xml php在字符串中添加空格 请问,UML是干什么的,相关论坛是不是这里? IIS 不能被外部访问(详细) 非技术的php问题 PHP改变图片的颜色? 急求Appserv下目录访问权限的问题 怎么把一个文件的内容复制到另外一个文件里 PHP网站环境搭建后空白页的问题 求MAC地址的正则表达式 请问PHP用哪个框架适中
echo preg_replace('@[/\\\\]@',"999" , "aad/\\"); // 输出 aad999999结果一样, 通常用/ , 但文中有了/, 就改其它的@,#
==
preg_replace('|[/\\\\]|',"999" , "aad/\\");
#,| 都可以做界定符,当然想要其他的符号做,也可以...
温馨提示: 结账了!!
echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999
echo preg_replace('[/\\\\]',"999" , "aad/\\"); // 输出 aad999
第一个,# 作为定界符, [ ] 表达的意义是 内容的可能值,可能是 / \ ,所以匹配2次,替换成2个999第二个,也有 定界符 !! 定界符 就是 [] ,此时 [] 的意义不同与上面第一个!! 此时 因为有了定界符, 注意 /\\\\ 中的 \\\\ 先是字符串转义成 \\ ,再是 正则本身的转义,就成了 \ ,结果就是表达成了 /\ 字符串,正则的默认原则是贪婪,所以就把 aad/\ 中的 /\ 替换成了 aad999所以,得出结论是,研究正则,一定要仔细LS大哥看了你的回复结果真的是更迷糊,相信自己直觉是正确的
echo preg_replace('#[/\\\\]#',"999" , "aad/\\"); // 输出 aad999999
echo preg_replace('[/\\\\]',"999" , "aad/\\"); // 输出 aad999/\\\\ 相当于 /\\
普通的没有定界符的, \w \t \\ 是进行转义。
而有了定界符后,不进行转义。个人建议,做为一个开发人员,执行一种标准为比较好。 用第二种会好一些。