PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用preg_replace替换php中的所有匹配项大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

正则表达式绝对是我的弱点,这一点让我完全难过.我正在构建一个相当基本的搜索功能,并且需要能够根据以下模式更改用户输入:

学科:

%22first set%22 %22second set%22-drupal -wordpress
@H_403_8@

所需的输出

+"first set" +"second set" -drupal -wordpress
@H_403_8@

我希望我能得到更多的帮助,因为我通常希望至少发布到目前为止的解决方案,但是对此我感到茫然.

任何帮助表示赞赏.谢谢.

@R_404_1964@:

preg_replace('/%22((?:[^%]|%[^2]|%2[^2])*)%22/', '+"$1"', $str);
@H_403_8@

说明:$1是一个反向引用,它引用正则表达式中的第一个()部分,在这种情况下,是((?:[^%] |%[^ 2] |%2 [^ 2])*).并且[^%]及其后的交替字符(… | … | …)可以防止由于贪婪而导致“之间的匹配.请参阅http://en.wikipedia.org/wiki/Regular_expression#Lazy_quantification.

我在匹配块注释(/ * * /)的JavaCC示例中找到了该技术,但找不到其他任何解释该问题的网页,因此这里有一个更干净的示例:在12345 12345之间匹配文本块… ….. 12345之间没有12345:/ 12345([^ 1] | 1 [^ 2] | 12 [^ 3] | 123 [^ 4] | 1234 [^ 5])* 12345 /

大佬总结

以上是大佬教程为你收集整理的使用preg_replace替换php中的所有匹配项全部内容,希望文章能够帮你解决使用preg_replace替换php中的所有匹配项所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: