如何形成正则表达式,过滤掉以==开头并以==结尾的单词?

时间:2013-11-26 21:04:05

标签: java regex

我想过滤掉所有以==开头且以==结尾的字词,例如==Hello==,但我不想要{{1}这样的字词成为这种匹配的一部分,

我正在使用以下正则表达式,但它不会返回我正在寻找的结果:===Bye===,我在制定正则表达式时遇到了什么错误?

3 个答案:

答案 0 :(得分:3)

==(.*?)==仍匹配===Bye===。您需要特别检查没有前面或后面的=。您还需要确保没有捕获=,因此.*无效。使用[^=]

(?<!=)==([^=]*)==(?!=)

http://rubular.com/r/bWpBPf3QXZ

答案 1 :(得分:0)

试试这个:

([^=]|^)==([^=]+)==([^=]|$)

它也处理在给定String的开头或结尾发生的匹配。

答案 2 :(得分:0)

(?<!=)==\K[^=]+(?===)(?!===)

参见演示 here