在我的一个XML文件中,我需要使用正则表达式和 Notepad ++ 查找并替换一些开始标记名称。另外,我需要保持它们之间的每个文本保持不变。
示例:
<uri>http://domain-name.com/41874_01_home_big.jpg</image_big>
我需要改成:
<image_big>http://domain-name.com/41874_01_home_big.jpg</image_big>
由于某些原因,我不能只更改 uri 标记,因为文档中还有其他关闭标记,如 / image_small (用 uri打开当然)。
我试图改变它:
<uri>.*?</image_big>
但我不知道应该取代它。 我尝试过:
<image_big>\1</image_big>
但结果是:
<image_big></image_big>
里面没有任何文字。
我需要你的帮助。我对正则表达式并不擅长。
答案 0 :(得分:2)
只需将.*?
放入捕获组。
<uri>(.*?)<\/image_big>
然后将匹配项替换为<image_big>\1</image_big>
或<image_big>$1</image_big>
您的正则表达式<uri>.*?</image_big>
正确匹配但是为了获取与.*?
模式匹配的所有字符,您必须将该模式放在捕获组中。这样我们就可以反向引用它以供以后使用。
答案 1 :(得分:2)
查找:<uri>(.*?)</image_big>
替换:<image_big>\1</image_big>
或<image_big>$1</image_big>
参见演示。