需要将精确字符串与正则表达式匹配

时间:2014-06-13 15:39:48

标签: java regex

我正在尝试找到一个正则表达式来匹配此HTML代码的某个部分:

        <TR class="">
                <TD align=left>WebContainer : 312</TD>
                <TD align=left>hung</TD>
                <TD align=left>2014-06-13</TD>
                <TD align=right>08:20:14</TD>
                <TD align=right>-</TD>
                <TD align=right>01:57:46</TD>
        </TR>

我需要匹配以连字符开头并以</TD>标记结尾的确切粗体字符串。

此外,底线的24小时时钟需要01小时部分。我可以把时钟部分看作\d{1}1:\d{2}:\d{2}但是抓住整个字符串,包括我被卡住的换行符。请帮帮忙?

3 个答案:

答案 0 :(得分:0)

这个选择\ 2缓冲区

中通配符之间的所有文本
(\*\*)([^\1]+)\1

为了更好地理解,you can see this RE in regexper; - )

您可以使用this one将所有连字符提取到您找到的下一个</TD>

-(</TD>)([^\1]+)\1

答案 1 :(得分:0)

有关如何匹配换行符的问题部分,请尝试

-</TD>\n.*<TD

答案 2 :(得分:0)

只需匹配粗体文字:

/(?!(.*<\/TD){3})-<\/T.*\/TD>/s

确保小时为01

/(?!(.*<\/TD){3})-<\/T.*01[0-9:]{6}<\/TD>/s

s修饰符为dot matches newline

的位置

在这里测试:http://regex101.com/r/sZ6qU5