使用Perl正则表达式将XML内容与字符串分开

苏舍尔·辛格(Susheel singh)

我有下面的字符串,其中包含用(\ n)分隔的文本。我想使用正则表达式匹配xml内容,删除所有空格和\ n并将其转换为单行。我使用以下正则表达式:

my $string = "this contains the text which I pasted below in before section";
$string=~ m/(^.*)(<[a-zA-Z]*>)/;
$extractedXml = $2;

为什么上面的代码无法获取XML内容?

前:

G11N/Locale=en_USY:/default/main/test1/test/test2/test4/test5/default.site
G11N/Localizable=true
TeamSite/Assocation/Version=1
TeamSite/LiveSite/DeploymentAudit=<?xml version="1.0" encoding="UTF-8"?>
<Deployments>
    <test>hello</test>
</Deployments>

后:

Y:/default/main/test1/test/test2/test4/test5/default.site
G11N/Locale=en_US
G11N/Localizable=true
TeamSite/Assocation/Version=1
TeamSite/LiveSite/DeploymentAudit=<?xml version="1.0" encoding="UTF-8"?><Deployments><test>hello</test></Deployments>

http://regex101.com/r/zZ0wB8
您可以检查它是否在这里工作,但在实际代码中,它仅与第一行匹配。

津巴布韦

对于您的示例,以下解决方案有效:

my $string = <<"FOO";
G11N/Locale=en_USY:/default/main/test1/test/test2/test4/test5/default.site
G11N/Localizable=true
TeamSite/Assocation/Version=1
TeamSite/LiveSite/DeploymentAudit=<?xml version="1.0" encoding="UTF-8"?>
<Deployments>
    <test>hello</test>
</Deployments>";
FOO

$string =~ s/^\s+(<.+$)/$1/gm;
$string =~ s/>\n/>/gm;

print $string;

它将首先从以xml标记和空白开头的行中删除空格,然后在以xml标记结尾的任何行末尾删除换行符。

这是一种非常实用的方法,很可能在所有情况下都行不通。由于的缘故,它仅适用于unix文件\n

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将整数与字符串正确分开(不使用正则表达式)

来自分类Dev

正则表达式用于将数字尾巴与任何字符的字符串分开?

来自分类Dev

在Perl中使用正则表达式替换xml标记内的多行字符串

来自分类Dev

如何在PHP中使用正则表达式将标题数字与字符串分开?

来自分类Dev

python正则表达式将字符串中的列表子字符串分开

来自分类Dev

使用正则表达式将字符串替换为字符串

来自分类Dev

使用正则表达式在Perl中的html字符串中查找和替换xml标签

来自分类Dev

匹配正则表达式后,perl将字符串插入文件

来自分类Dev

使用 ultraedit 查找并替换 Perl 正则表达式将冒号插入 4 位时间字符串

来自分类Dev

正则表达式(搜索功能(@“字符串内容”)以获取“字符串内容”

来自分类Dev

正则表达式(搜索功能(@“字符串内容”)以获取“字符串内容”

来自分类Dev

使用perl正则表达式比较两个字符串

来自分类Dev

使用Perl正则表达式删除标签之间的字符串

来自分类Dev

如何在Perl中使用正则表达式grep字符串?

来自分类Dev

使用perl替换一列文本中的字符串的正则表达式

来自分类Dev

正则表达式除字符串外的所有内容+组的使用

来自分类Dev

如何使用正则表达式替换指定字符串以外的所有内容

来自分类Dev

如何使用正则表达式从字符串中间删除某些内容?

来自分类Dev

使用正则表达式php替换字符串中的特定内容

来自分类Dev

正则表达式除字符串外的所有内容+组的使用

来自分类Dev

正则表达式,允许在字符串内容中使用头尾空格

来自分类Dev

使用正则表达式匹配字符串?

来自分类Dev

使用正则表达式验证字符串

来自分类Dev

使用正则表达式删除字符串

来自分类Dev

使用正则表达式分割字符串

来自分类Dev

使用正则表达式的除法字符串

来自分类Dev

使用正则表达式解析字符串

来自分类Dev

字符串提取使用正则表达式

来自分类Dev

使用正则表达式替换字符串

Related 相关文章

  1. 1

    将整数与字符串正确分开(不使用正则表达式)

  2. 2

    正则表达式用于将数字尾巴与任何字符的字符串分开?

  3. 3

    在Perl中使用正则表达式替换xml标记内的多行字符串

  4. 4

    如何在PHP中使用正则表达式将标题数字与字符串分开?

  5. 5

    python正则表达式将字符串中的列表子字符串分开

  6. 6

    使用正则表达式将字符串替换为字符串

  7. 7

    使用正则表达式在Perl中的html字符串中查找和替换xml标签

  8. 8

    匹配正则表达式后,perl将字符串插入文件

  9. 9

    使用 ultraedit 查找并替换 Perl 正则表达式将冒号插入 4 位时间字符串

  10. 10

    正则表达式(搜索功能(@“字符串内容”)以获取“字符串内容”

  11. 11

    正则表达式(搜索功能(@“字符串内容”)以获取“字符串内容”

  12. 12

    使用perl正则表达式比较两个字符串

  13. 13

    使用Perl正则表达式删除标签之间的字符串

  14. 14

    如何在Perl中使用正则表达式grep字符串?

  15. 15

    使用perl替换一列文本中的字符串的正则表达式

  16. 16

    正则表达式除字符串外的所有内容+组的使用

  17. 17

    如何使用正则表达式替换指定字符串以外的所有内容

  18. 18

    如何使用正则表达式从字符串中间删除某些内容?

  19. 19

    使用正则表达式php替换字符串中的特定内容

  20. 20

    正则表达式除字符串外的所有内容+组的使用

  21. 21

    正则表达式,允许在字符串内容中使用头尾空格

  22. 22

    使用正则表达式匹配字符串?

  23. 23

    使用正则表达式验证字符串

  24. 24

    使用正则表达式删除字符串

  25. 25

    使用正则表达式分割字符串

  26. 26

    使用正则表达式的除法字符串

  27. 27

    使用正则表达式解析字符串

  28. 28

    字符串提取使用正则表达式

  29. 29

    使用正则表达式替换字符串

热门标签

归档