Php 查找字符串的正则表达式
有人能帮我找到下面的正则表达式吗Php 查找字符串的正则表达式,php,preg-match,Php,Preg Match,有人能帮我找到下面的正则表达式吗 $string = "id=A12dk9-mds&name=4950"; 在本例中,我需要找到正则表达式来找到动态值A12dk9 mds i、 e=和&之间的动态内容可以使用一个简单的正则表达式 /id=([^&]*)&/ 说明: id=匹配id= [^&]*尽可能匹配除&symbol之外的任何内容并返回该值 &匹配& 只要你知道它们总是在a=和a&之间,这就行了 PHP代码: $string = "id=A12dk9-mds&
$string = "id=A12dk9-mds&name=4950";
在本例中,我需要找到正则表达式来找到动态值A12dk9 mds
i、 e=和&之间的动态内容可以使用一个简单的正则表达式
/id=([^&]*)&/
说明:
id=匹配id=
[^&]*尽可能匹配除&symbol之外的任何内容并返回该值
&匹配&
只要你知道它们总是在a=和a&之间,这就行了
PHP代码:
$string = "id=A12dk9-mds&name=4950";
preg_match('/id=([^&]*)&/',$string, $answer);
print_r($answer[1]);
一个简单的正则表达式可以用于此
/id=([^&]*)&/
说明:
id=匹配id=
[^&]*尽可能匹配除&symbol之外的任何内容并返回该值
&匹配&
只要你知道它们总是在a=和a&之间,这就行了
PHP代码:
$string = "id=A12dk9-mds&name=4950";
preg_match('/id=([^&]*)&/',$string, $answer);
print_r($answer[1]);
RegEx在这里是错误的工具。这看起来像一个查询字符串,所以让我们使用PHP的查询字符串解析器
RegEx在这里是错误的工具。这看起来像一个查询字符串,所以让我们使用PHP的查询字符串解析器
正如@MarkBaker所说的,最好的方法不是正则表达式,而是处理url的查询字符串 因此,以下各项应该可以很好地发挥作用:
parse_str($string,$arr);
echo $arr['id']; // A12dk9-mds
正如@MarkBaker所说的,最好的方法不是正则表达式,而是处理url的查询字符串 因此,以下各项应该可以很好地发挥作用:
parse_str($string,$arr);
echo $arr['id']; // A12dk9-mds
它总是这样的长度和格式吗?那么6个字母或数字连3个字母?嘿,Daedalus,我试过preg_match/id=*&,$string,对不起,我是noobwhy,当PHP有一个parse_str函数来完成这项工作时,为什么要坚持使用regexp?它是否总是这样长度和格式?那么6个字母或数字连3个字母?嘿,Daedalus,我试过preg_match/id=*&,$string,对不起,我是诺布,当PHP有一个parse_str函数来完成这项工作时,为什么要坚持使用regexp呢?这就像preg_match/=[^&]*&/,$string;注意:根据你试图匹配的内容,这可能会产生误报,因为如果你在另一个地方有=胡言乱语,那么它仍然会匹配该部分。我喜欢我的正则表达式模式完全匹配,并且只匹配我要查找的内容。@ajon-True我在等号之前添加了id,以确保您只获取id值。您不能也执行/id=.*?&/?@RocketHazmat-可以。这就像preg_match/=[^&]*&/,$string;注意:根据你试图匹配的内容,这可能会产生误报,因为如果你在另一个地方有=胡言乱语,那么它仍然会匹配该部分。我喜欢我的正则表达式模式完全匹配并且只匹配我要查找的内容。@ajon-True我在等号之前添加了id,以确保您只获得id值。您不能同时执行/id=.*?&/?@RocketHazmat-可以。