当前位置: 首页 > 知识库问答 >
问题:

使用regex处理多行匹配

仲孙献
2023-03-14
  <class>
    <students>
        <student>
            <roll>1</roll>
            <name>first_name
            middle_name
            last_name</name>
            <remark>
            some free

            form text goes 
            here
            </remark>
        </student>
    </students>
</class>

我正试图将这些值以如下方式放入数组:

arr[0]  <class>
arr[1]  <students>
arr[2]  <student>
arr[3]  <roll>1</roll>
arr[4]  <name>first_name middle_name last_name</name>
arr[5]  <remark>some free form text goes here </remark>
arr[6]  </student>
arr[7]  </students>
arr[8]  </class>

我不太清楚如何使用regex处理多行文本。regex是正确的方法吗?

共有1个答案

郎言
2023-03-14

不要使用正则表达式来解析XML。使用实际的XML解析器。

一些很好的重量级文件是:xml::libxmlxml::twig

对于一个轻量级模块,它擅长读而不擅长写:XML::Simple

 类似资料:
  • 我有一个字符串,我正试图根据几个regex模式验证它,我希望由于模式匹配在3.10中可用,我可以使用它来代替创建if-else块。 考虑一个字符串'validateString',其可能的值1021102,1.25.32string021。 我尝试的代码如下所示。 对于正则表达式1、2和3,我尝试了字符串正则表达式模式,还重新设置了。编译对象,但它似乎不起作用。 我一直试图在互联网上找到这方面的例

  • 我的目标是得到两个匹配: 非常感谢你的帮助。

  • 问题内容: 我已经在线阅读了文档和各种教程,但是我对regex在Java中的工作方式仍然感到困惑。我正在尝试做的是创建一个接受字符串类型参数的函数。然后,我想检查传递的字符串是否包含MDCLXVIivxlcdm以外的任何字符。因此,例如,字符串“ XMLVID​​”应返回false,而“ ABXMLVA”应返回true。 当我通过时,“ XMLIVD”,“ ABXMLVA”和“ XMLABCIX”

  • null 但问题是我的regex不是。

  • 我是Spring批处理的新手,我只想问如何从多行结果集中检索数据。我有以下场景: > 有两个不同的表说员工 使用时,我只能创建一个工资单子级,但该表可能有多个子级。请帮助...

  • 问题内容: 我正在尝试进行测试以检查sys.argv输入是否与IP地址的RegEx相匹配… 作为一个简单的测试,我有以下内容… 但是,当我向其中传递随机值时,在大多数情况下,它会返回“可接受的IP地址”,除非我的“地址”基本上等于。 问题答案: 您必须通过以下方式修改您的正则表达式 这是因为通配符代表“每个字符”