regex - sed/正则表达式 : How to match a '<' or '>' in a string

标签 regex sed

我希望使用 sed 匹配文件中的所有小于 ('<') 或大于 ('>') 符号。我只想匹配单个字符

我的目标是用 ' <' 替换它们和 '> ' (确保它们周围有空白区域,以便我可以更轻松地解析它们)。

例如,它将匹配:
(标签内没有空格)

< p >Hey this is a paragraph.< /p >< p >And here is another.< /p >

.. 把它变成(注意空格)
 < p > Hey this is a paragraph. < /p >  < p > And here is another. < /p > 

这是我最初的(错误的)猜测:
sed 's/<{1}|>{1}/ <> /' ...

它匹配整个单词/行,这是不需要的,并且它也没有正确替换。

无论如何,任何帮助将不胜感激!谢谢!

最佳答案

尝试两个替换以使其更容易:

sed 's/</ </g ; s/>/> /g' file

关于regex - sed/正则表达式 : How to match a '<' or '>' in a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8591969/

相关文章:

javascript - 使用正则表达式匹配字符串的相同开始和结束字符

ruby-on-rails - 为什么这个正则表达式在 ruby​​ 中不匹配,但在任何其他语言中都匹配?

linux - 使用 awk 和 sed 消除不需要的输出

linux - 如何在mailx命令中添加收件人姓名

sed - 如何替换bash中的特定字符

c# - 将 <usernameredacted@example.com> 之前的任何字符替换为空字符串

带有变音符号和一些国际化的德语全名的 PHP-RegEx

regex - 如何从Markdown中提取链接

linux - sed 表达式出现错误

Ruby 正则表达式在相邻方法之间插入新行