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

问题描述

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

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

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

推荐答案

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

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

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

08-21 06:50