用正则表达式提取网页上表格的内容
把提取到的内容转换成用逗号分隔的文本。
需要修改的就是第一行的 <table id=""t1"" 部分,根据表格定义的而不同。
let rx = new Regex(@"(?<=<table id=""t1""[^>]*?>)([\s\S]*?)(?=</table>)",RegexOptions.IgnoreCase|||RegexOptions.Singleline);;
let rxTR = new Regex(@"(?<=<tr>)([\s\S]*?)(?=</tr>)",RegexOptions.IgnoreCase|||RegexOptions.Singleline);;
let rxTD = new Regex(@"(?<=<td[^>]*>[\s]*?)([\S]*)(?=[\s]*?</td>)",RegexOptions.IgnoreCase|||RegexOptions.Singleline);;
let s4= [for i in rx.Matches(s : string) do
let t0 = i.Groups.[1].Value
yield //t0
[for i in rxTR.Matches(t0 : string) do
let t1 = i.Groups.[1].Value
yield //t1
[for i in rxTD.Matches(t1 : string) do
let t2 = i.Groups.[1].Value
yield t2
]
]
];;
let s5 = s4 |>Seq.iter(fun i -> i|>Seq.iter(fun i -> (String.Join(",",i))|> writeToFile "S4-4.txt" ))
本文详细介绍了如何使用正则表达式从网页中提取表格内容,并将其转换为用逗号分隔的文本。通过设置不同的正则表达式匹配规则,可以灵活地处理各种表格结构。

136

被折叠的 条评论
为什么被折叠?



