gpt4 book ai didi

java - 如何在 java 正则表达式中跨多行非贪婪提取?

转载 作者:行者123 更新时间:2023-11-30 06:34:26 24 4
gpt4 key购买 nike

如果我有一堆跨多行的数据,我如何让它非贪婪?我所拥有的是贪婪的。

示例数据

</TD> 
<TD CLASS='statusEven'><TABLE BORDER=0 WIDTH='100%' CELLSPACING=0 CELLPADDING=0><TR><TD ALIGN=LEFT><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR>
<TD ALIGN=LEFT valign=center CLASS='statusEven'><A HREF='extinfo.cgi? type=2&host=localhost&service=Current+Load'>Current Load</A></TD></TR>
</TABLE>
</TD>
<TD ALIGN=RIGHT CLASS='statusEven'>
<TABLE BORDER=0 cellspacing=0 cellpadding=0>
<TR>
</TR>
</TABLE>
</TD>
</TR></TABLE></TD>
<TD CLASS='statusOK'>OK</TD>
<TD CLASS='statusEven' nowrap>08-04-2011 22:07:00</TD>
<TD CLASS='statusEven' nowrap>28d 13h 18m 11s</TD>
<TD CLASS='statusEven'>1/1</TD>
<TD CLASS='statusEven' valign='center'>OK &#45; load average&#58; 0&#46;01&#44; 0&#46;04&#44; 0&#46;05&nbsp;</TD>

到目前为止,这是我的代码

Pattern p = Pattern.compile("(?s)<TD ALIGN=LEFT valign=center CLASS(.*)?<TABLE");
Matcher m = p.matcher(this.resultHTML);

if(m.find())
{
return m.group(1);
}

最佳答案

不贪心:

Pattern.compile("(?s)<TD ALIGN=LEFT valign=center CLASS(.*?)?<TABLE");

另外,检查一下:

Java Regexp: UNGREEDY flag

我已经为 JDK 的正则表达式实现了 UNGREEDY

关于java - 如何在 java 正则表达式中跨多行非贪婪提取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6950842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com