我在这里收到推文:
RT @ChunautiSharma: "@AswalSurendra: @aartic02 @gulpanag ji campaigns in bus http://t.co/wl42nt5dds"
我想废弃使用正则表达式存储在变量中的第一个用户名。 怎么做?
在上面的文字ChunautiSharma
应该被删除
答案 0 :(得分:0)
答案 1 :(得分:0)
使用preg_match
并将其存储到$m
preg_match("/@([^:]+)/", $twitter, $m);
print $m[1] ;
或使用preg_replace
直接推送到$name
$name = preg_replace("/.*?@([^:]+):.*/", "$1", $twitter);
答案 2 :(得分:0)
使用preg_match
。使用此正则表达式 -
@(.*?):
正则表达式的演示here。
在PHP中测试 -
$regex = "/@(.*?):/";
$str = 'RT @ChunautiSharma: "@AswalSurendra: @aartic02 @gulpanag ji campaigns in bus http://t.co/wl42nt5dds"';
if(preg_match($regex, $str, $match)){
echo $match[1];
}
//OUTPUT - ChunautiSharma
答案 3 :(得分:0)
使用\K
功能(此功能会从匹配结果中删除左侧的所有内容):
if (preg_match('~@\K[^\s:]+~', $str, $match))
echo $match[0];