需要一些帮助来为这种情况构建正则表达式:
内容:
<b>IfThisIsPresent:</b>
<span style="font-family:Arial">
<button type='submit'>
<span class="button-gradient">
<span class="button-test">
Look: NeedToExtractThat
</span>
所以:
如果字符串 IfThisIsPresent:
在我的字符串中,我应该提取 Look:
字符串之后的内容。
我开发了以下 RegEx,但它不起作用:
((?<=IfThisIsPresent:)Look:(.*))
我知道 Java 模式类不支持 if then else。所以我使用 lookbehind 检查 IfThisIsPresent
是否存在,然后提取 Look:
之后的内容。
有人可以帮忙吗?
感谢!
最佳答案
这个正则表达式应该适合你:
(?s)(?<=IfThisIsPresent:.{0,1000}Look:).*
它适合我:
NeedToExtractThat </span>
如果您还想摆脱以下标签,例如 </span>
那么你可以使用这个正则表达式:
(?s)(?<=IfThisIsPresent:.{0,1000}Look:)[^<]*
哪个匹配:
NeedToExtractThat
在此处查看演示:http://fiddle.re/8ez1h (点击java按钮)
关于Java RegEx 后视构造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22236626/