PHP正则表达式匹配首次出现?

PHP正则表达式匹配首次出现?,php,regex,Php,Regex,我只想提取|之前的第一个url 我写了正则表达式 http://someurlhere.com|http://sometexturl.com|sometexthere 但它捕捉到了所有| 感谢Thanx的帮助使*解除冻结:*? \bhttp(.*)\|\b 如果只想在第一个|之后匹配,请执行以下操作: \bhttp(.*?)\|\b 有了这个,url位于$1这不是一个确切的答案,但我将向您指出帮助您解决此问题的信息 不需要正则表达式。我看到你给它贴上了PHP标签 \|http://(.*?

我只想提取|之前的第一个url

我写了正则表达式

http://someurlhere.com|http://sometexturl.com|sometexthere
但它捕捉到了所有|


感谢Thanx的帮助

使
*
解除冻结:
*?

\bhttp(.*)\|\b
如果只想在第一个
|
之后匹配,请执行以下操作:

\bhttp(.*?)\|\b

有了这个,url位于
$1

这不是一个确切的答案,但我将向您指出帮助您解决此问题的信息


不需要正则表达式。我看到你给它贴上了PHP标签

\|http://(.*?)\|
输出:

$boom = explode('|', 'http://someurlhere.com|sometexturl.com|sometexthere');
$url = $boom[0];
echo $url;

这并不是你问题的答案;但是考虑使用<代码>爆炸()/代码>()我不明白你想要达到什么目的。您正在尝试获取文本的第一部分,即URL(例如,前缀为http://)?http://必须是结果匹配的一部分吗?因为到目前为止,您的匹配项应该是
://someurlhere.com
。很抱歉,我尝试了这一个,它的效果很好,但对于这种类型来说没有working@Fawad:你的例子得到了什么?Thanx得到了,我使用的是全局正则表达式,Thanx再次。你能再帮我一个忙吗。由于这种模式,我怎样才能只提取url?也有匹配:)我已经编辑了主要问题,你能再看一遍吗thanx@Fawad:对于我的第二个正则表达式,url位于第一个捕获组
$1
http://someurlhere.com