大家好,
我目前正在使用 preg_match,并且正在尝试提取方括号内中的一些信息。
到目前为止,我已经使用过这个:
/\[(.*)\]/
但我希望它只是最后一次出现的内容 - 或者是第一次出现的内容,如果从末尾开始的话!
如下:
string = "这里有一些文字 [value_a] 还有一些文字 [value_b]"
我需要得到:
“value_b”
有人可以建议一些可以解决问题的方法吗?
谢谢!
最佳答案
匹配对象:
/.*\[([^]]+)\]/
使用 preg_match
(此处不需要 _all
版本,因为您只需要最后一组)并捕获其中的组。
您当前的正则表达式根据您的输入,将捕获value_a]更多文本[value_b
。在这里,第一个 .*
吞噬了所有内容,但必须回溯以匹配 [
- 输入中的最后一个。
关于php - 正则表达式查找最后一次出现的方括号的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8750135/