我试图在SubmlimeText2中查找/替换潮汐数据的xml文件,并且我被同一日期的多个实例难倒。这是一个数据样本:
<item>
<date>2016/01/01</date>
<time>06:16 AM</time>
<predictions_in_ft>8.2</predictions_in_ft>
<predictions_in_cm>250</predictions_in_cm>
<highlow>H</highlow>
</item>
<item>
<date>2016/01/01</date>
<time>12:31 PM</time>
<predictions_in_ft>3.0</predictions_in_ft>
<predictions_in_cm>91</predictions_in_cm>
<highlow>L</highlow>
</item>
<item>
<date>2016/01/01</date>
<time>06:13 PM</time>
<predictions_in_ft>6.6</predictions_in_ft>
<predictions_in_cm>201</predictions_in_cm>
<highlow>H</highlow>
</item>
我尝试做的是保留日期的第一个实例,但删除后续日期以达到此目的:
<item>
<date>2016/01/01</date>
<time>06:16 AM</time>
<predictions_in_ft>8.2</predictions_in_ft>
<predictions_in_cm>250</predictions_in_cm>
<highlow>H</highlow>
</item>
<item>
<time>12:31 PM</time>
<predictions_in_ft>3.0</predictions_in_ft>
<predictions_in_cm>91</predictions_in_cm>
<highlow>L</highlow>
</item>
<item>
<time>06:13 PM</time>
<predictions_in_ft>6.6</predictions_in_ft>
<predictions_in_cm>201</predictions_in_cm>
<highlow>H</highlow>
</item>
有什么想法吗?我知道某种xml解析器可能会更方便,但我是一个菜鸟,这是按时完成工作。
答案 0 :(得分:0)
您可以尝试使用此模式:
(?|\G(?<=(.{10})</date>\n[ ]{2})[^<]*|<date>([^<]+))(?:<(?!date>)[^<]*)*+\K<date>\1</date>\n[ ]{2}
如果不起作用,请在每个\r
之前添加\n
。