正则表达式捕获标记之间的任何内容,匹配转义标记之间的任何内容

时间:2012-04-17 20:28:55

标签: regex sed

我有一个包含转义和非转义字符重复的文件:

<p>&lt;p&gt;

我想找到这些的所有实例,并将这些实例更改为非转义的html字符的单个实例。我以为我会搜索左边的paren,然后是中间的任何东西,然后右边的paren,模式匹配中间的任何东西,然后尝试找到逃脱的左边的paren(&lt;)然后是模式,然后右边的父节点( &gt;)标签:

grep -R '<[^>]\(*\)>&lt;\1&gt;' *.properties|more

虽然这不会返回任何数据,但是用paren中的星号捕获所有内容是否正确,然后尝试使用\ 1进行目标模式的所有数据?

1 个答案:

答案 0 :(得分:0)

我没有匹配星号复制的东西,所以这有效:

grep -R '<([^>]*)>&lt;\1&gt;' *.properties | more