php - 复杂的正则表达式 : get all strings that end with ":any-number-here" between brackets

标签 php regex preg-match

我要构建一个非常具体的正则表达式,作为新手,我从未尝试过这样的事情,因为它非常具体,我发现很难获得一些很好的示例。

我想获取以冒号和方括号内的任何数字结尾的字符串的每个部分。这可能会令人困惑,所以我将获取它应该捕获的内容的示例。

这应该匹配:

[大家好示例字符串: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/

相关文章:

php - 帮助连接查询 (MySQL)

php - SQL 计数查询返回预设为 1 的行数而不是实际行数

regex - Apache 多重重写规则

php - 如何在 else 函数中使用 if 函数

需要 Php 路由 preg_match 帮助

php - 在 mysql 连接之间交替

php - 打印 HTML 设计内容的最佳方式?

ruby-on-rails - 在 ruby​​ 中转义双引号

regex - 需要对正则表达式进行分组

具有 0 或 2 个小数位的正数的 PHP 正则表达式