我需要在[]之间输出字符串。 例如,我需要这个回声,没有人可以显示。 但是我得到了这个结果:[this-echo] Hello Everybody [nobody]。
$txt = 'Hello World [this-echo] Hello Everybody [nobody]';
$regExp = '/\[([^)]+)\]/';
$match = preg_match("/\[(.*)\]/s", $txt, $output);
答案 0 :(得分:1)
试试这个
preg_match_all('/\[(.*?)\]/', $txt, $out);
print_r($out[1]);
获取
Array ( [0] => this-echo [1] => nobody )
答案 1 :(得分:0)
您没有排除结束方括号,而是排除了角色类中的结束圆括号:[^]]
这就是为什么模式不会停留在第一个结束方括号并到达最后一个字符串。
您只需将其替换为preg_match_all
并使用class ApplicationController < ActionController::Base
before_action :assign_env_variables
def assign_env_variables
gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
end
end
即可获得多个结果。