使用 preg_match 查找括号内的所有文本
Using preg_match to find all text between brackets
我正在尝试在文档中搜索标签,以便稍后替换它们。
我正在使用 preg_match,但遇到了一些困难。
preg_match('/\[.*\]/', $haystack, $matches);
正在搜索以下文字
[TODAY_DATE]
回复:付款需求
[地址]
[ADDRESS_LINE_2]
...等等
print_r($matches);
returns
Array ( [0] => [TODAY_DATE] )
我应该如何调整我的正则表达式以 return 所有匹配项?
使用preg_match_all
。顾名思义,不止一次匹配。
preg_match_all('/\[.*?\]/', $haystack, $matches);
var_dump($matches);
也使用不情愿的量词 .*?
而不是贪婪的量词。
我正在尝试在文档中搜索标签,以便稍后替换它们。
我正在使用 preg_match,但遇到了一些困难。
preg_match('/\[.*\]/', $haystack, $matches);
正在搜索以下文字
[TODAY_DATE]
回复:付款需求
[地址] [ADDRESS_LINE_2] ...等等
print_r($matches);
returns
Array ( [0] => [TODAY_DATE] )
我应该如何调整我的正则表达式以 return 所有匹配项?
使用preg_match_all
。顾名思义,不止一次匹配。
preg_match_all('/\[.*?\]/', $haystack, $matches);
var_dump($matches);
也使用不情愿的量词 .*?
而不是贪婪的量词。