2012-06-03 56 views
1

我试图通过检查网页的HTML来确定名称“Phone”出现在哪个列中。 在我做搜索的字符串看起来是这样的:正则表达式查找字符串存在于哪个列

<tr class="C1"> 
<td>Name</td> 
<td>Address</td> 
... 
... < some more columns, but their number is not fixed > 
... 
<td>Phone</td> 
... 
... <more columns> 
... 
</tr> 

是否有可能确定使用正则表达式?

回答

1

从理论计算机科学的角度来看:这是不可能的,因为表可以嵌套;并且正则表达式通常不能处理嵌套结构(您需要使用Typ-2-Grammer(Chomsky-Hierarchy),即解析器来分析html-Text的结构,它不是Typ-3,即常规)。然而,从实际的角度来看,如果您认为表格不是嵌套的,您可以使用RegEx提取表格行(类似于<tr (?!</tr>)*</tr>),匹配之后的条目(如<td (?!</td>)*</td>)以生成List的列和搜索列表中包含字符串"Phone"的条目....

相关问题