正则表达式查找和替换标记内容

时间:2015-05-29 10:01:58

标签: regex

使用常规exp查找和替换标签。我有大量的xml文件。我想找到.mp3文件并将标签替换为空<url></url>

		<url>audio/mod1_s11.mp3</url>
		<url>audio/mod1_s11.wav</url>

2 个答案:

答案 0 :(得分:0)

假设你在Unix机器上并且XML文件中的数据正如你所说的那样发生:

$ find . -name "*.xml" -print | \
  while read f; do
   sed -e 's#<url>.*\.mp3</url>#<url></url>#' $f >${f}.tmp
   mv ${f}.tmp $f
  done

但通常情况下,正则表达式并不适合处理XML。

答案 1 :(得分:0)

<强>正则表达式:

(\S*\.mp3\b)

\S*匹配零个或多个非空格字符。在这里,您也可以使用\S+

替换字符串:

<url>\1</url>