如果我有这样的字符串"location":"Denton TX"
(包括双引号)
我想得到Denton TX
。如何为那个东西编写正则表达式?
我试过
function getInfo($info,$content){
echo 'getting INFO';
preg_match_all("\.".$info."\.:\"[^\"]*(.*?)\.,",$content,$matches,PREG_PATTERN_ORDER);
print_r($matches);
return $matches[0];
}
我将'location'放入$info
但不起作用。
答案 0 :(得分:0)
简单地获取引号之间的每个字符。你太近了。
"\.".$info."\.:\"([^\"]*)\"
答案 1 :(得分:0)
我会这样做:
"\"".$info."\":\"([^\"]+)\""
我不确定你为什么写这个特定的位,但你的正则表达式中的主要问题是[^\"]*
,这太贪婪并且会消耗所有东西,并且(.*?)
是空的(好吧,除非是以双引号开头,我猜)。我也不太明白为什么你到底是什么逗号,但也许你的例子没有说明...在任何情况下,我提供的正则表达式应该与你的例子匹配,前提是$info
包含字符串{ {1}}。
答案 2 :(得分:0)
试试这个:(?< =:“)(。*)(?=”)
我使用类似的方法从Android应用中的XML响应中删除元素标记。祝你好运