2012-06-03 94 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"的條目....

相關問題