2015-05-29 176 views
1

使用常规exp查找和替换标记。我有大量的xml文件。我想找到.mp3文件,并与空更换标签像<url></url>正则表达式查找并替换标记内容

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

+0

正则表达式:'(\ S * \ MP3 \湾)''替换 \ 1'。为什么选择这个工作的正则表达式? –

+0

感谢Avinash Raj多数民众赞成多数民众赞成在 –

+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 

但通常,正则表达式对于Grokking XML并不理想。

0

正则表达式:

(\S*\.mp3\b) 

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

替换字符串:

<url>\1</url>