谁能帮我找到下面的正则表达式
$string = "id=A12dk9-mds&name=4950";
我需要找到正则表达式来找到一个动态值(A12dk9-mds
在这个例子中)。
即和之间的动态=
内容&
谁能帮我找到下面的正则表达式
$string = "id=A12dk9-mds&name=4950";
我需要找到正则表达式来找到一个动态值(A12dk9-mds
在这个例子中)。
即和之间的动态=
内容&
正如@MarkBaker 所说,最好的方法不是正则表达式,而是parse_str()
因为您实际上是在处理 url 的查询字符串。
因此,以下应该可以正常工作:
parse_str($string,$arr);
echo $arr['id']; // A12dk9-mds
为此可以使用一个简单的正则表达式。
/id=([^&]*)&/
解释:
id=
匹配 id=([^&]*)
尽可能匹配除 & 符号之外的任何内容并返回&
匹配 &只要您知道它们将始终介于 a=
和 a之间,&
这将起作用。
PHP代码:
$string = "id=A12dk9-mds&name=4950";
preg_match('/id=([^&]*)&/',$string, $answer);
print_r($answer[1]);
RegEx 在这里是错误的工具。这看起来像一个查询字符串,所以让我们使用 PHP 的查询字符串解析器,parse_str
.
$string = "id=A12dk9-mds&name=4950";
parse_str($string, $parsed);
echo $parsed['id'];