sed中的正则表达式

Ale*_*sky 3 regex sed

我有一个看起来像这样的流(除了更多东西):

<ret:EditUse>Broadcast</ret:EditUse>
<EditUse>Movie</EditUse>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用sed清理它的XML:

sed "s_</?(ret:)?EditUse>__"
Run Code Online (Sandbox Code Playgroud)

我已经使用RegexPal测试了正则表达式,但它似乎不适用于sed.关于什么是错的任何想法?

Bir*_*rei 6

这是适用于的正则表达式sed:

sed "s_</\?\(ret:\)\?EditUse>__g"
Run Code Online (Sandbox Code Playgroud)
  1. 使用反斜杠字符进行转义?,(以及)
  2. 使用g开关在每行中多次应用正则表达式.

结果:

Broadcast
Movie
Run Code Online (Sandbox Code Playgroud)

  • 如果使用`-r`选项(它启用扩展正则表达式),它可以在不转义的情况下工作. (2认同)