【问题标题】:Regex Dynamic Find and Replace正则表达式动态查找和替换
【发布时间】:2020-07-14 22:19:28
【问题描述】:

我正在尝试在 PHP 中使用正则表达式执行查找/替换功能。我已使用以下正则表达式成功找到 isset($ServerVars->varGet("XXXX")) 的所有实例:

\(isset\(\$ServerVars->varGet(.*?\)\))

但是,我现在需要用这个替换字符串:

NULL !== $ServerVars->varGet("XXXX")

如何将isset($ServerVars->varGet("XXXX")) 的所有实例替换为NULL !== $ServerVars->varGet("XXXX")

请注意,在上面的示例中,"XXXX" 只是一个占位符;这个值会有所不同。

【问题讨论】:

标签: php regex replace


【解决方案1】:

在变量数据.*? 周围使用捕获组() 并在替换中使用对第一组$1 的反向引用:

$string = preg_replace('/isset\(\$ServerVars->varGet\((.*?)\)\)/',
                       'NULL !== $ServerVars->varGet($1)', $string);

但也许你想要!empty($ServerVars->varGet("XXXX"))?不确定它返回了什么或你在做什么。

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2011-06-16
    • 1970-01-01
    • 2017-01-28
    • 2015-01-11
    • 2012-12-02
    相关资源
    最近更新 更多