带有完整文本的正则表达式

时间:2013-09-23 23:34:32

标签: regex jedit


我使用Jedit和正则表达式来替换文件中的几个代码中的一些文本。

有很多相似的开头和结尾如下:

Something
Text Sample
Something Else

或者

Something
I dont know what else
Something Else

然后我使用搜索:

Something
[^‰\r\n]*
Something Else

我想用以下内容替换所有行:

Something
<Tuv Lang="EN-US">**ORIGINAL TEXT**</Tuv><Tuv Lang="PT-BR"> </Tuv>
Something Else

所以它会在开头和中间文本行的末尾添加一些代码并不总是相等的。

我尝试过使用:

Something
<Tuv Lang="EN-US">[^‰\r\n]*</Tuv><Tuv Lang="PT-BR"> </Tuv>
Something Else

但没有成功。有人可以告诉我,我应该使用正确的正则表达式吗?

提前致谢!

的Matias

2 个答案:

答案 0 :(得分:0)

尝试将搜索修改为:

Something
([^‰\r\n]*)
Something Else

这应该“捕获”括号内的内容并将其存储在变量$1中。

然后,尝试这个替换:

Something
<Tuv Lang="EN-US">$1</Tuv><Tuv Lang="PT-BR"> </Tuv>
Something Else

我不能说这是否有效我是不是因为我没有通过。

答案 1 :(得分:0)

搜索:

Something(\s*)(.*?)(\s*)Something Else

替换:

Something$1<Tuv Lang="EN-US">$2</Tuv><Tuv Lang="PT-BR"> </Tuv>$3Something Else

这会捕获换行符和换行文本,并将其全部放回正确的位置,这意味着无论是否存在换行符都会被保留。

请参阅正则表达式匹配示例输入的live demo