我需要一个正则表达式,它可以从某个字符串中找到括号并从中提取 id 的值。例如:
$string = "Hey how are you, this is [ads id=432] going to be fun!";
我需要 name likeads
和 id like 432
。
以及如何用其他值替换这些括号,例如$ads = "ads here";
?
$regexp = "#\[(?<name>[^\]]+) id=(?<id>[0-9]+)\]#";
例子
<?php
$regexp = "#\[(?<name>[^\]]+) id=(?<id>[0-9]+)\]#";
$string = "Hey how are you, this is [ads id=432] going to be fun!";
preg_match($regexp, $string, $match);
print_r($match);
?>
Array
(
[0] => [ads id=432]
[name] => ads
[1] => ads
[id] => 432
[2] => 432
)
(?<=\[ads\s+id=)(\d+?)(?=\])
如果您需要类似广告的想法,请使用此正则表达式将此`(?<=\[)(\w+)\s+id=(\d+?)(?=\])
名称和值用于正则表达式组