我要构建一个非常具体的正则表达式,作为新手,我从未尝试过这样的事情,因为它非常具体,我发现很难获得一些很好的示例。
我想获取以冒号和方括号内的任何数字结尾的字符串的每个部分。这可能会令人困惑,所以我将获取它应该捕获的内容的示例。
这应该匹配:
[大家好示例字符串:23]
[http://www.google.com:9234523]
[今天的气温是:783]
这不是
[大家好示例字符串:]
[大家好示例 string23]
到目前为止,我可以使用以下 php 代码找到所有括号内的内容:
preg_match_all("/\[[^\]]*\]/", $string, $result);
有什么建议吗?谢谢:D
最佳答案
以下正则表达式应该有效:
\[.*:\d+\]
您可以在这里测试它,例如: http://regexpal.com/
因此以下内容应该适合您:
preg_match_all("/\[.*:\d+\]/", $string, $result);
在 php 中,正则表达式应该以唯一的分隔符开始和结束,这里是“/”,但您可以使用“|”、“#”或其他任何东西。
关于php - 复杂的正则表达式 : get all strings that end with ":any-number-here" between brackets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31089536/