用于在第一个字符出现时拆分字符串的PHP Regex [英] PHP Regex for splitting a string at the first occurrence of a character

查看:48
本文介绍了用于在第一个字符出现时拆分字符串的PHP Regex的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是一个蹩脚的问题,但我完全是正则表达式的新手。我有一些格式为:

的文本数据

公司名称:公司名称,地点。公司地址:一些, 地址,在这里。
链接: http://www.somelink.com

现在,我想使用正则表达式将它们拆分成一个名称:值对数组。我正在尝试的正则表达式是/(.*):(.*)/preg_match_all(),它确实可以很好地处理前两行,但在第三行,它在一部分中返回"Link:http:",在另一部分中返回"//www.Somelink.com"。

那么,有没有办法只在第一次出现字符‘:’时拆分该行?

推荐答案

您可能需要类似/(.*?):(.*)/的内容。*后面的?将使其成为"非贪婪的",因此它将以这种方式消耗尽可能少的文本。我想这对你的情况很管用。默认情况下,*是"贪婪的",并尝试匹配尽可能多的重复项。

编辑:有关使用*+运算符匹配重复的详细信息,请参阅here

这篇关于用于在第一个字符出现时拆分字符串的PHP Regex的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆