本文介绍了用于在第一个字符出现时拆分字符串的PHP Regex的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这可能是一个蹩脚的问题,但我完全是正则表达式的新手。我有一些格式为:
的文本数据现在,我想使用正则表达式将它们拆分成一个名称:值对数组。我正在尝试的正则表达式是/(.*):(.*)/
和preg_match_all()
,它确实可以很好地处理前两行,但在第三行,它在一部分中返回"Link:http:",在另一部分中返回"//www.Somelink.com"。那么,有没有办法只在第一次出现字符‘:’时拆分该行?
推荐答案
您可能需要类似/(.*?):(.*)/
的内容。*
后面的?
将使其成为"非贪婪的",因此它将以这种方式消耗尽可能少的文本。我想这对你的情况很管用。默认情况下,*
是"贪婪的",并尝试匹配尽可能多的重复项。
编辑:有关使用*
和+
运算符匹配重复的详细信息,请参阅here。
这篇关于用于在第一个字符出现时拆分字符串的PHP Regex的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!