0


我使用 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

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

提前致谢!

马蒂亚斯

4

2 回答 2

0

尝试将您的搜索修改为:

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

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

然后,试试这个替换:

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

我不能说这是否适用于我的 jEdit,因为我没有通过它。

于 2013-09-24T04:30:16.917 回答
0

搜索:

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

代替:

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

这会捕获换行符以及换行的文本并将其全部放回正确的位置,这意味着任何存在的换行符都会被保留。

查看正则表达式匹配示例输入的现场演示

于 2013-09-24T04:50:54.380 回答