PHP:需要从字符串数据中搜索文本并存储到数组中

时间:2016-05-20 16:31:55

标签: regex

在html编辑器中,我将一些文本写入特定格式。

示例:

  

测试测试测试{{LATEL1}}测试测试测试{{LATEL2}}测试测试   测试

在这里,我想获取所有写入{{}}的数据。我希望将所有结果都放到数组中。

我认为这可以使用regexp来完成。你能帮我解决一下这个问题。如果还有其他简单方法,请告诉我。

1 个答案:

答案 0 :(得分:0)

您希望使用non-greedy "anything" quantifier并进行全局匹配。通过这种方式,.*?确实会匹配任何内容,但一次仅一个字符,这将使您的分隔符{}'正确匹配:

{{(.*?)}}  //global

()所有的值都是captured,并且应该以数组(或类似数组)的形式提供。匹配'运行全局匹配后的对象。这是regex demo输出:

enter image description here

注意:如果您使用非常大的输入,则此替代但语义上等效的正则表达式可能会更快:{{([^{}]*)}}demo)。 (否定的字符类[^{}]*可以继续并且一次匹配(吃)所有非大括号,而不是.*?一次只吃一个,这意味着更少的步骤)