用于匹配一组字符串的正则表达式

时间:2012-03-06 17:55:24

标签: java regex

我需要在Java中匹配一组字符串。此字符串可以包含自结束HTML,一个或多个空格以及一个或多个  s。

例如:

String html = "<p>Stack Overflow is a great site. I really like Stack<br/>Overflow. Stack&nbsp;&nbsp;Overflow has helped me a lot to learn different things. I frequently visit Stack<br></br>Overflow. Stack<div id=\"XX\" />Overflow is really nice.<p><br/><p>Stack and overflow are two different thing.</p>".

现在我需要一个正则表达式,它匹配上面字符串中的以下字符串。

 1. Stack Overflow 
 2. Stack<br/>Overflow
 3. Stack&nbsp;&nbsp;Overflow
 4. Stack<br></br>Overflow
 5. Stack<div id=\"XX\" />Overflow

但它不应该匹配

  • 堆叠和溢出

2 个答案:

答案 0 :(得分:1)

如果我正确理解你的问题,你希望匹配“stack”后跟“overflow”,并在它们之间允许一些可选文本。如果这是你想要的,那怎么样:

(?i)stack.*?overflow

如果您的输入字符串包含“stack”但没有相应的“溢出”,则表现不佳。

您可以了解有关java的正则表达式语法@ http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

的更多信息

答案 1 :(得分:1)

stack(<.*?>|&nbsp;|\s)*overflow
相关问题