PHP 替换某些其他子字符串的前面的子字符串

标签 php regex string replace

假设我有这个字符串:

$myString = 'aaa = b AND cc = dd OR e = ff_%_g AND hh = iii AND j = k_%_lll ...'

我想检查子字符串 '_%_' 是否存在,在这种情况下,我想替换前一个(且仅是前一个)'='通过'LIKE'

也就是说,我想要这个:

$myString = 'aaa = b AND cc = dd OR e LIKE ff_%_g AND hh = iii AND j LIKE k_%_lll ...'

我知道如何使用 strpos()substr_replace() 替换所有 '=',但我只需要替换那些位于 '_%_'

之前

请问有什么帮助吗?

最佳答案

给你:

$myString = preg_replace("/=([^=]*_%_[^ ]*)/", "LIKE $1", $myString);

关于PHP 替换某些其他子字符串的前面的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22327199/

相关文章:

javascript - 获取数组中字符串的一部分

Java socket监听加载问题

javascript - 随机订单号发布到电子邮件

php - Codeigniter 数据库根据多个值加入两列

python - 按换行符和大写字母的正则表达式分割

c# - 尝试将变量从 C# 插入 MySQL 时出错

php - HTACCESS : Dynamic rewrite url with multiple variables

php - RabbitMQ 收到消息但无处可去

ruby-on-rails - 字符串格式检查(部分随机字符串)

java - 仅当字符串中的字符未转义时才匹配正则表达式