2010-09-09 102 views
0

我试图找出正则表达式如下:正则表达式的HTML标签

String</td><td>[number 0-100]%</td><td>[number 0-100]%</td><td>String</td><td>String</td> 

此外,一些TD标签可以有样式属性在某些时候。 我尝试这样做:

String<.*> 

和返回

String</td> 

而是试图

String<.*><.*> 

返回任何内容。为什么是这样?

+0

你使用哪种语言的正则表达式? java吗? – sheeks06 2010-09-09 06:12:35

+0

PHP,但这应该不重要,应该吗? – codersarepeople 2010-09-09 06:23:18

+0

它的确如此,因为一些编程语言使用不同的正则表达式语法。 – BoltClock 2010-09-09 06:26:17

回答

1
(.+)</td><td>(1?\d?\d)%</td><td>(1?\d?\d)%</td><td>(.+)</td><td>(.+)</td> 
+0

这很好,但标签并不总是​​,有时他们会有属性,并说 – codersarepeople 2010-09-09 06:15:47

1

使用Character类,像<td[^>]*>如果<td> or <td class="abc">

1

尝试以下操作:

(.+)(<[^>]+>){2}(1?\d?\d)%(<[^>]+>){2}(1?\d?\d)%(<[^>]+>){2}(.+)(<[^>]+>){2}(.+)<[^>]+> 

您可以测试它here

编辑:虽然这将工作在大多数时间,如果>标记的一个属性中的字符,这个正则表达式将无法正常工作。

+0

'>'在属性值中是允许的。 – Gumbo 2010-09-09 06:29:28

+0

我正在编写这个:)。 – Zafer 2010-09-09 06:29:56