我在尝试从字符串中提取特定值但没有获得正确的输出时遇到问题。
$string = com.xyz.ghop.service.sprint.Sprint@1b0258c[id=257,rapidViewId=94,state=CLOSED,name=Alert Success 5,goal=,startDate=2016-08-16T20:20:46.730+05:30,endDate=2016-08-26T20:20:00.000+05:30,completeDate=2016-08-26T21:18:53.928+05:30,sequence=257]
我希望name =里面的值直到逗号,我尝试使用preg_match_all,但它只是给出了第一个单词。
这就是我的尝试:
preg_match_all("/(?=name\=([^\W]+))/", $string, $matches);
$resulte = implode(",", $matches[1]);
请帮忙
由于
答案 0 :(得分:5)
有多种方法可供选择,无论是preg_match还是preg_match_all
$results = preg_match('#name=(.*?),#', $matches);
OR
$results = preg_match('#name=([^,]+),#', $matches);
答案 1 :(得分:5)
您可以尝试以下方式:
preg_match("/name=(.+?),/", $string, $matches);
$result = end($matches);
希望这有帮助!