我一直在努力解决这个问题2个小时,但没有成功。我觉得它有点复杂。 我试图在PHP中解析脚本文件并将一些值返回给用户。我想要的是这样的:
_ 值 =对象 runFunction blah blah blah
基本上我想要的是(在算法中):
通常99.9%的格式是这样的......但是有一些小案例可能是这样的:
_ 值 = _object runFunction blah blah blah (如果_之后_ =搞砸事情)。
这里有任何帮助:)? 感谢
答案 0 :(得分:0)
尝试类似:
$str = 'YOUR FILE CONTENTS HERE';
$match = preg_match_all('/(_[a-zA-Z0-9_]+) ?= ?[a-zA-Z0-9_]+ runFunction/s',$str,$matches);
var_dump($matches);
您可能需要添加多行标记。
答案 1 :(得分:0)
怎么样
if (preg_match('/^_([^=]+?)(?=\s*=).*runfunction/im', $subject, $regs)) {
$result = $regs[1];
} else {
$result = "";
}
你可以排除最初的“开始”锚点,你的下划线可能不在行的开头
这是正则表达式本身。结果是在捕获第1组
^_([^=]+?)(?=\s*=).*runfunction
正则表达式 寻找线的起点 匹配第一个下划线 捕获不是'='的所有内容到捕获组1中 如果它后跟0个或更多个空格和等号。 然后将所有内容捕获到运行函数中。
需要设置不区分大小写和多行选项
如果第一个下划线不需要在行的开头,则删除锚点。