【问题标题】:TextWrangler FInd/Replace withTextWrangler 查找/替换为
【发布时间】:2017-01-14 13:20:02
【问题描述】:

我有很长的位置数据列表,它们是 XML 格式的。

<location><city>London</city><name>Zoo</name><latitude>...</location>

不幸的是,XML 已损坏,我必须替换/修复很多 出现无效的关闭 XML 标记。例如,这里的&lt;/name&gt; 必须替换为&lt;/city&gt;

<location><city>London</name><latitude>...</location>

使用 TextWrangler Find+Replace 我可以搜索:&lt;city&gt;[A-Za-z]*&lt;/name&gt; 该语句搜索并找到所有无效行。到目前为止一切顺利。

现在我想自动替换它们(全部替换)。通常在正则表达式中,这是通过定义:&lt;city&gt;%1&lt;/city&gt; 来完成的,但这不起作用。它覆盖找到的文本,不解释搜索结果,也不在%1 标记中插入值。

【问题讨论】:

    标签: regex replace textwrangler


    【解决方案1】:

    您需要使用捕获组捕获中间字符,以便您可以通过指定其索引号(如%1\1$1)来引用替换部分中捕获的字符

    <city>([A-Za-z]*)</name>
    

    【讨论】:

    • 与 \1 选项完美配合。分组成功了!谢谢。 (注意:%1 和 $1 似乎不起作用)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2010-09-07
    • 2017-04-07
    • 2010-11-16
    相关资源
    最近更新 更多