gpt4 book ai didi

regex - Sublime Text XML替换正则表达式结果

转载 作者:行者123 更新时间:2023-12-03 13:35:27 25 4
gpt4 key购买 nike

我在替换Sumbilme Text中的多个xml标记中替换正则表达式结果时遇到问题。

我在不同的组中有多个标签<startDate>的xml代码,如下所示:

<group1>
<id>123</id>
<startDate>2011-11-11</startDate>
<city>New York</city>
.
.
</group1>
<group2>
<id>456</id>
<startDate>2013-10-01</startDate>
<classCode>123</classCode>
.
.
</group2>
<group1>
<id>789</id>
<startDate>2016-01-17</startDate>
<city>Washington</city>
.
.
</group1>
<group2>
<id>135</id>
<startDate>2013-12-22</startDate>
<classCode>234</classCode>
.
.
</group2>

我只想将 <startDate>(...some date...)</startDate>中的每个标签 <group2>替换为 <startDate1>(...some date...)</startDate1>
方括号中的文本(...某些日期...)不同。

我开始找到此标签,并使用了以下代码:
(?=.*<startDate>)(?=.*</startDate>
<classCode>)

而且有效。 Sublime在 <startDate>(...some date...)</startDate>中找到了每个标记 <group2>
但我在替换已建立标签中的文本时遇到问题。

我试图将这段代码放入“替换”行中:
(?=.*<startDate1>)(?=.*</startDate1>
<classCode>)

没用

所以我找到了另一个选择。

在“查找”行中,我输入:
(?=.*(<startDate)(>))(?=.*(</startDate)(>
<classCode>))

在“替换”行中:
$1 1 $2 $3 1 $4

但是结果是:
.
.
</group1>
<group2>
<id>456</id>
<startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate 1 > </startDate 1 >
<classCode><startDate>2015-11-02</startDate>
<classCode>123</classCode>

因此,我的目标标签没有变化,但是添加了新标签...

我想得到这样的结果:
<group1>
<id>123</id>
<startDate>2011-11-11</startDate>
<city>New York</city>
.
.
</group1>
<group2>
<id>456</id>
<startDate1>2013-10-01</startDate1>
<classCode>123</classCode>
.
.
</group2>

有什么方法不手动替换标签名称吗?

最佳答案

像这样吗?

<startDate>([\d-]+)<\/startDate>(?=\s*<classCode>)

用。。。来代替:
<startDate1>$1</startDate1>

测试 here

关于regex - Sublime Text XML替换正则表达式结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com