复杂的RegEx:获取括号中以“:any-number-here”结尾的所有字符串

时间:2015-06-27 13:54:07

标签: php regex preg-match

我有一个非常具体的正则表达式构建和作为一个新手我从来没有尝试过这样的东西,因为它非常具体,我发现很难得到一些很好的例子。

我希望得到以冒号结尾的字符串的每个部分以及括号内的任何数字。这可能令人困惑,所以我会得到它应该捕获的例子。

这应匹配:

[hello everyone example string:23]

[http://www.google.com:9234523]

[the temperature for today is:783]

这不是

[hello everyone example string:]

[hello everyone example string23]

到目前为止,我可以通过这个php代码找到所有内部括号:

preg_match_all("/\[[^\]]*\]/", $string, $result);

任何提示?谢谢:D

1 个答案:

答案 0 :(得分:4)

以下正则表达式应该有效:

\[.*:\d+\]

你可以在这里测试一下例如: http://regexpal.com/

所以以下内容适合您:

preg_match_all("/\[.*:\d+\]/", $string, $result);
在PHP中,正则表达式应该以唯一的分隔符开始和结束,在这里"" /"但你可以使用" |","#"或其他任何东西。