Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解析html文档中的脚注_Html_Regex - Fatal编程技术网

解析html文档中的脚注

解析html文档中的脚注,html,regex,Html,Regex,我需要解析通过将word文档保存为html生成的html文档 我已经非常成功地使用了HTML敏捷包,但在这个例子中,我认为在这一部分中使用正则表达式可能更容易(观点?) Word将其脚注之一翻译为html时生成以下代码 <a href="#_ftn2" name="_ftnref2" title=""><span class=MsoFootnoteReference><span class=MsoFootnoteReference><span style

我需要解析通过将word文档保存为html生成的html文档

我已经非常成功地使用了HTML敏捷包,但在这个例子中,我认为在这一部分中使用正则表达式可能更容易(观点?)

Word将其脚注之一翻译为html时生成以下代码

<a href="#_ftn2" name="_ftnref2" title=""><span
class=MsoFootnoteReference><span class=MsoFootnoteReference><span
style='font-size:10.0pt'>[2]</span></span></span></a>

此输出对于每个脚注都是一致的,只有href=和名称以及[2]文本发生了更改

我需要提取_ftn2和[2]元素

到目前为止,我有以下正则表达式,它将把_ftn2部分提取到名称组中

<a href="#(?<name>_ftn\d).*>(<span class=MsoFootNoteReference>)

如果输入完全遵循该格式,则可以使用非常松散的正则表达式。您只需忽略除要提取的部分之外的所有内容,然后使用非贪婪表达式来吃掉它们之间的所有垃圾:

<a href="#(?<name>_ftn\d).*?(?<number>\[\d+\]).*?<\/a>

我将获取类MsFootNoteReference的所有跨度,并检查父href。。。
<a href="#(?<name>_ftn\d).*?(?<number>\[\d+\]).*?<\/a>