用于获取php中字符串中[]之间内容的正则表达式

时间:2015-06-17 11:40:28

标签: php regex

我需要在[]之间输出字符串。 例如,我需要这个回声,没有人可以显示。 但是我得到了这个结果:[this-echo] Hello Everybody [nobody]。

$txt = 'Hello World [this-echo] Hello Everybody [nobody]';
$regExp = '/\[([^)]+)\]/';
$match = preg_match("/\[(.*)\]/s", $txt, $output);

2 个答案:

答案 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 即可获得多个结果。