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