在Java中从字符串中删除的文字我想通过正则表达式来删除以下字符串一些文字:通过正则表达式
someText
begin
.someMethod()
.doSomething(TOKEN_123)
.someMethod()
end
begin
.someMethod()
.doSomething(TOKEN_456)
.someMethod()
end
begin
.someMethod()
.doSomething(TOKEN_789)
.someMethod()
end
more Text
我想删除第二个开始/结束块,包括字符串TOKEN_456。
目前我正则表达式如下所示
begin.*TOKEN_456(.*?)end
但是这一次移除第一和第二块。
任何人都可以帮忙吗?
格尔茨
我想你有单线标志。为什么不用多个换行符分割并删除结果数组的元素,然后加入剩下的元素?顺便说一句,你正在寻找'begin(?:(?!begin)。* TOKEN_456(。*?)end'。 –
@tripleee:当然不是这个。 –
正如我所提到的,这个复制绝对是不正确的,它不是用否定的字符类或懒点匹配来解决的,从而减轻了近距离投票。 –