正则表达式替换两个词之间
Regex replace in between two words
示例文本:
This is my car, I don't like it, because it is slow. This is my car, SomeRandom24324<>, it is slow. This is my car, how about you and me..., because it is slow.
我想删除 "This is" 和 "is slow" 之间的所有内容。
我试过 (?<=This is)(.*?)(?=is slow)
,但它只删除了第一次出现,我得到:
This isis slow. This is my car, SomeRandom24324<>, it is slow. This is my car, how about you and me..., because it is slow.
其余事件仍然存在。
如你所知,我只想拥有:
This isis slow. This isis slow. This isis slow.
PS:有什么学习正则表达式的好书吗?
正则表达式没问题。您需要告诉您将该正则表达式放入的任何内容(可能是 replace
调用)以替换所有匹配项,而不仅仅是一个匹配项。这不是正则表达式的一部分,而是替换 instruction/call/whatever.
的标志
你的正则表达式没问题。我会尝试启用 dotall 修饰符来强制点跨换行。
String result = Regex.Replace(input, @"(?s)(?<=This is).*?(?=is slow)", "");
就学习正则表达式而言,我将从这里开始:Regular-Expressions.info — RexEgg
执行此操作取决于您使用的语言。在 perl 中,我会使用使用正则表达式的替代函数,例如。 $line=~ s/regex_with_2_groups/"$1 whatever-u-want $2"/g,但是在 java 中我可能会使用 String.replaceFirst() 或 String.replaceAll 并且在 python re.sub()。一种方法是匹配'(2save1)toRemove(2save2)'并输出"group1 whatever-u-want group2".
精通正则表达式和正则表达式指南是很好的参考资料。请参阅 http://www.regular-expressions.info/ for regex deatails of all major languages that have them and software for testing and analyzing regexes and http://www.regexr.com/ 有一个免费的在线工具,用于学习、构建和测试正则表达式。
示例文本:
This is my car, I don't like it, because it is slow. This is my car, SomeRandom24324<>, it is slow. This is my car, how about you and me..., because it is slow.
我想删除 "This is" 和 "is slow" 之间的所有内容。
我试过 (?<=This is)(.*?)(?=is slow)
,但它只删除了第一次出现,我得到:
This isis slow. This is my car, SomeRandom24324<>, it is slow. This is my car, how about you and me..., because it is slow.
其余事件仍然存在。
如你所知,我只想拥有:
This isis slow. This isis slow. This isis slow.
PS:有什么学习正则表达式的好书吗?
正则表达式没问题。您需要告诉您将该正则表达式放入的任何内容(可能是 replace
调用)以替换所有匹配项,而不仅仅是一个匹配项。这不是正则表达式的一部分,而是替换 instruction/call/whatever.
你的正则表达式没问题。我会尝试启用 dotall 修饰符来强制点跨换行。
String result = Regex.Replace(input, @"(?s)(?<=This is).*?(?=is slow)", "");
就学习正则表达式而言,我将从这里开始:Regular-Expressions.info — RexEgg
执行此操作取决于您使用的语言。在 perl 中,我会使用使用正则表达式的替代函数,例如。 $line=~ s/regex_with_2_groups/"$1 whatever-u-want $2"/g,但是在 java 中我可能会使用 String.replaceFirst() 或 String.replaceAll 并且在 python re.sub()。一种方法是匹配'(2save1)toRemove(2save2)'并输出"group1 whatever-u-want group2".
精通正则表达式和正则表达式指南是很好的参考资料。请参阅 http://www.regular-expressions.info/ for regex deatails of all major languages that have them and software for testing and analyzing regexes and http://www.regexr.com/ 有一个免费的在线工具,用于学习、构建和测试正则表达式。