从正则表达式中提取数据

从我的草坪上离开

我正在尝试使用正则表达式将此文本分成数组,但是我的正则表达式不够强大。

注意:{elseif}就像PHP一样,可以有一行或多

{if 'Fred' == 'Fred'}
    Welcome Sir.
{elseif 'Fred' == 'Wilma'}
    Welcome Ma'am.
{else}
    Welcome, whatever you are.
{/if}

我试图实现的最终数组如下所示:

array(
    [0] => array(
        [0] => if 'Fred' == 'Fred'
        [1] => elseif 'Fred' == 'Wilma'
        [2] => else
    ),
    [1] => array(
        [0] => Welcome Sir.
        [1] => Welcome Ma'am.
        [2] => Welcome, whatever you are.
    )
);

我正在使用此正则表达式来做到这一点:

preg_match_all("/\{(if|elseif|else|\/if).*\}(.*)\{(elseif|else|\/if).*\}/isU", $section, $matches);

但这输出:

Array
(
    [0] => Array
        (
            [0] => {if 'Fred' == 'Fred'}
    Welcome Sir.
{elseif 'Fred' == 'Wilma'}
            [1] => {else}
    Welcome, whatever you are.
{/if}
        )

    [1] => Array
        (
            [0] => if
            [1] => else
        )

    [2] => Array
        (
            [0] => 
    Welcome Sir.

            [1] => 
    Welcome, whatever you are.

        )

    [3] => Array
        (
            [0] => elseif
            [1] => /if
        )

)

有人可以帮帮我吗?谢谢!

沙布哈桑

假设您的if / else事情将恰好在第二个括号({)之后开始

preg_match_all("/(\{(?:if|elseif|else)[^\}]*\})\s*([^{]+)\s+/mi", $section, $matches);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式从刷卡中提取数据

来自分类Dev

正则表达式使用现有数据从ipconfig中提取数据

来自分类Dev

使用正则表达式从pandas数据框中的列中提取数据

来自分类Dev

为什么我使用正则表达式无法从此日志数据中提取数据?

来自分类Dev

正则表达式从js代码中提取地址

来自分类Dev

使用正则表达式从网页中提取表格

来自分类Dev

正则表达式-从网址中提取数字

来自分类Dev

从正则表达式中提取值:c#

来自分类Dev

正则表达式从行中提取IP地址

来自分类Dev

JMeter:从数组响应中提取正则表达式

来自分类Dev

在通用Lisp中提取正则表达式匹配

来自分类Dev

从正则表达式中提取文本?

来自分类Dev

正则表达式如何从括号中提取单词

来自分类Dev

正则表达式从插入查询中提取值

来自分类Dev

在正则表达式PHP中提取链接

来自分类Dev

正则表达式//从<a>链接中提取值

来自分类Dev

Javascript正则表达式在括号中提取

来自分类Dev

正则表达式从文件中提取哈希

来自分类Dev

正则表达式从方括号中提取?

来自分类Dev

在php中提取正则表达式

来自分类Dev

正则表达式从URL中提取类别

来自分类Dev

在PySpark中提取几个正则表达式匹配

来自分类Dev

正则表达式从URL中提取链接

来自分类Dev

从多个正则表达式命名组中提取

来自分类Dev

正则表达式从文本中提取日期

来自分类Dev

使用正则表达式从文本中提取帮助

来自分类Dev

从正则表达式中提取组

来自分类Dev

使用正则表达式从网址中提取日期

来自分类Dev

使用正则表达式从地址中提取数字