Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 正则表达式查找和替换标记内容_Regex - Fatal编程技术网

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

Regex 正则表达式查找和替换标记内容,regex,Regex,使用正则表达式查找和替换标记。我有大量的xml文件。我想找到.mp3文件并用空标签替换标签,如 audio/mod1\u s11.mp3 audio/mod1_s11.wav假设您在Unix机器上,并且XML文件中的数据正在发生,就像您所说的: $ find . -name "*.xml" -print | \ while read f; do sed -e 's#<url>.*\.mp3</url>#<url></url>#' $f

使用正则表达式查找和替换标记。我有大量的xml文件。我想找到.mp3文件并用空标签替换标签,如

audio/mod1\u s11.mp3

audio/mod1_s11.wav
假设您在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
$find-名称“*.xml”-打印\
同时读取f;做
sed-e的#.\.mp3##'$f>${f}.tmp
mv${f}.tmp$f
完成

但通常,正则表达式并不适合于搜索XML。

Regex:

(\S*\.mp3\b)
<url>\1</url>
\S*
匹配零个或多个非空格字符。在这里,您还可以使用
\S+

替换字符串:

(\S*\.mp3\b)
<url>\1</url>
\1

regex:
(\S*\.mp3\b)
替换
\1
。你为什么选择正则表达式来做这项工作?谢谢Avinash Raj的工作:)完成。。。我使用记事本++编辑器,有大量的.xml文件。通过给出文件夹路径,我们可以替换内容,因为这个原因,只有我使用了正则表达式。还有其他更好的解决办法吗。无论如何,我使用正则表达式完成了工作。接受工作答案。