Notepad++ - 查找和移动行
Notepad++ - find and move lines
我有一个很大的语言文件,其中有很多块,如下所示:
<trans-unit id="common:CommandDescription_EditTest:Manager.CommandDescription.Text">
<source>Редактировать тест</source><target>Editar prueba</target>
<alt-trans>
<target xml:lang="en" state="translated">Edit test</target>
<target xml:lang="pt" state="x-autotrans">Editar teste</target>
<target xml:lang="fr" state="translated">Editer test</target>
<target xml:lang="zh" state="translated">编辑检查</target>
<target xml:lang="es" state="translated">Editar test</target>
<target xml:lang="it" state="translated">Modificare test</target>
</alt-trans>`
考虑到有很多这样的块,我需要 <target>Editar prueba</target>
在 <alt-trans>
标签之间移动。
我怎样才能做到这一点?
- Ctrl+H
- 查找内容:
(<target>.+?</target>)(\s+)(<alt-trans>)(\s+)
- 替换为:
</code></li>
<li><strong>检查</strong> <em>匹配大小写</em></li>
<li><strong>检查</strong> <em>环绕</em></li>
<li><strong>检查</strong> <em>正则表达式</em></li>
<li><kbd>全部替换</kbd></li>
</ul>
<p><strong>解释:</strong></p>
<pre><code>( # group 1
<target> # openning tag
.+? # 1 or more any character, not greedy
</target> # closing tag
) # end group
(\s+) # group 2, 1 or more spaces character, including linebreak
(<alt-trans>) # group 3, openning tag
(\s+) # group 4, 1 or more spaces character, including linebreak
替换:
# content of group 2, spaces for indentation
# content of group 3, openning tag <alt-trans>
# content of group 4, spaces for indentation
# content of group 1, the target tag
# content of group 4, spaces for indentation
截图(之前):
截图(后):
我有一个很大的语言文件,其中有很多块,如下所示:
<trans-unit id="common:CommandDescription_EditTest:Manager.CommandDescription.Text">
<source>Редактировать тест</source><target>Editar prueba</target>
<alt-trans>
<target xml:lang="en" state="translated">Edit test</target>
<target xml:lang="pt" state="x-autotrans">Editar teste</target>
<target xml:lang="fr" state="translated">Editer test</target>
<target xml:lang="zh" state="translated">编辑检查</target>
<target xml:lang="es" state="translated">Editar test</target>
<target xml:lang="it" state="translated">Modificare test</target>
</alt-trans>`
考虑到有很多这样的块,我需要 <target>Editar prueba</target>
在 <alt-trans>
标签之间移动。
我怎样才能做到这一点?
- Ctrl+H
- 查找内容:
(<target>.+?</target>)(\s+)(<alt-trans>)(\s+)
- 替换为:
</code></li> <li><strong>检查</strong> <em>匹配大小写</em></li> <li><strong>检查</strong> <em>环绕</em></li> <li><strong>检查</strong> <em>正则表达式</em></li> <li><kbd>全部替换</kbd></li> </ul> <p><strong>解释:</strong></p> <pre><code>( # group 1 <target> # openning tag .+? # 1 or more any character, not greedy </target> # closing tag ) # end group (\s+) # group 2, 1 or more spaces character, including linebreak (<alt-trans>) # group 3, openning tag (\s+) # group 4, 1 or more spaces character, including linebreak
替换:
# content of group 2, spaces for indentation # content of group 3, openning tag <alt-trans> # content of group 4, spaces for indentation # content of group 1, the target tag # content of group 4, spaces for indentation
截图(之前):
截图(后):