【问题标题】:Php regex return values within a patternPhp 正则表达式在模式内返回值
【发布时间】:2017-05-05 17:08:51
【问题描述】:

我正在寻找一个正则表达式来返回 Parameter("") 之间的值。

所以对于 1 + Parameter("MyVariable") + 36 * Parameter("Hello") + NoParameter("Nine") 它应该返回 MyVariable 和 Hello。我已经找到了一种方法来返回引号之间的值,但这也包括 NoParameter 结果。关于如何集成 Parameter() 部分的任何提示?

<?php

$string     =   '1 + Parameter("MyVariable") + 36 * Parameter("Hello") + NoParameter("Nine")';

preg_match_all('/"([^"]+)"/', $string, $matches); 

print_r($matches[1]);

?>

【问题讨论】:

    标签: php regex return


    【解决方案1】:

    您需要根据需要匹配子字符串Parameter。见this demo at regex101

    \bParameter\("\K[^"]+
    

    Here is a PHP Demo at eval.in 与您更新的代码示例。
    当然你也可以use a capture group代替\K

    【讨论】:

    • 谢谢,就像一个魅力,现在我已经更好地理解了它是如何工作的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2023-02-16
    相关资源
    最近更新 更多