正则表达式反向引用和Intellij

时间:2013-11-20 20:29:12

标签: regex intellij-idea

我正在使用Intellij。

我有这个xml:

...
<ml:comment />
<ml:pohpoh>
...

我希望看起来像这样:

...
<ml:comment />
<ml:dodo>Volvo</ml:dodo>
<ml:pohpoh>
....

但是有很多,所以我想在路径功能中使用替换。

然而,这不起作用(我在替换路径中的所有内容之前尝试单个relpace-in-file!)

查找

ml:comment />[\n].*<ml:[^dodo]

替换:

ml:comment />\$1.*<ml:dodo>Volvo</ml:dodo>\n\$2

另外〜我担心不会放入正确数量的空格,我将如何捕获所有这些空格?

2 个答案:

答案 0 :(得分:6)

查找:

(<ml:comment\s*/>)(\s*)(?!<ml:dodo)

<强>替换

$1$2<ml:dodo>Volvo</ml:dodo>$2

这应该保持缩进,我认为这是你在丢失空格方面所担心的。

Working example on RegExr

答案 1 :(得分:3)

所以你想找/替  (<ml:comment\s*/>)\s*<(?!ml:dodo)
 $1\n<ml:dodo>Volvo</ml:dodo>\n<