我正在尝试提取逗号“,”和结束括号之间的字符串“)”
这是下面的字符串......
(Punta Gorda, FL, U.S.A.)
从此我想提取U.S.A
我目前正在使用的正则表达式返回FL, U.S.A.
使用以下正则表达式(?<=,).*(?=\))
修改正则表达式以实现目标的最简单方法是什么?
答案 0 :(得分:2)
如果您不想使用正则表达式,这也可以使用:
$string = "(Punta Gorda, FL, U.S.A.)";
$last_occurence = strrpos($string, ",");
$country = substr($string, $last_occurence + 1, strlen($string) - $last_occurence - 2);
答案 1 :(得分:1)
改为使用这个:
(?<=,\s)[^,]*(?=\))
请注意,正则表达式会在FL, U.S.A
之前返回空格。这个没有。
答案 2 :(得分:1)
我会选择这个正则表达式:
([^,\s]+)(?=\))
<强> UPD 强>:
$str = '(london, United kingdom)';
preg_match('~([^,]+)(?=\))~', $str, $matches);
var_dump($matches);