需要正则表达式帮助 - V2格式化

时间:2010-10-06 13:45:53

标签: java regex groovy

  

可能重复:
  Regex help required

我正在尝试更换两个或多个< br />的出现次数。 (例如< br />< br />< br />)标记以及两个< br />< br />具有以下模式

Pattern brTagPattern = Pattern.compile("(<\\s*br\\s*/\\s*>\\s*){2,}",
    Pattern.CASE_INSENSITIVE | Pattern.DOTALL);

但是在某些情况下'&lt; br /&gt; &LT峰; br /&GT;”标签带有空格,它们被4&lt; br /&gt;取代。实际上应该只用2个标签替换的标签。

如何忽略标签之间的2个或3个(几个)空格?

1 个答案:

答案 0 :(得分:-1)

你可以改变你的正则表达式:

Pattern brTagPattern = Pattern.compile("<\\s*br\\s*/\\s*>\\s*<\\s*br\\s*/\\s*>\\s*", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);

这将忽略两个之间的每个空格。如果你只想要2或3,你可以使用:

Pattern brTagPattern = Pattern.compile("<\\s*br\\s*/\\s*>(\\s){2,3}<\\s*br\\s*/\\s*>\\s*", Pattern.CASE_INSENSITIVE | Pattern.DOTALL);