我有一些字符串实际上是用于创建表格的 HTML 代码,例如
z <- "<TABLE ALIGN=\"RIGHT\" BORDER CELLSPACING=\"0\" CELLPADDING=\"0\">
<CAPTION><B>MESA HIGH VICTORIES</B></CAPTION>
<TH>Team</TH>
<TH>Score</TH>
<TR ALIGN=\"CENTER\">
<TD><B>Parkfield High Demons</B></TD>
<TD><B>28 to 21</B></TD>
</TR>
<TR ALIGN=\"CENTER\">
<TD><B>Burns High Badgers</B></TD>
<TD><B>14 to 13</B></TD>
</TR>
</TABLE>"
我想提取表达式
<TABLE ALIGN=\"RIGHT\" BORDER CELLSPACING=\"0\" CELLPADDING=\"0\">
<CAPTION><B>MESA HIGH VICTORIES</B></CAPTION>
<TH>Team</TH>
<TH>Score</TH>
<TR
所以我想提取字符串中以 first 开头<TABLE
和结尾的部分"<TR"
我能做的最好的就是使用stringi
包中的函数
stri_extract_all_regex(z, "(?i)\\<table.*?\\>(\\s+)?(\\<caption,*? \\>)?")
输出
[[1]]
[1] "<TABLE ALIGN=\"RIGHT\" BORDER CELLSPACING=\"0\" CELLPADDING=\"0\">\n "
但它仍然不是我所说的。在 first 之前,字符串的唯一强制性部分"<TR"
是"<TABLE"
一些设置,标题和标题是可选的。以及如何为它创建适当的正则表达式的想法?