我尝试解析文件并需要检测标签中每一列的数字。我需要检测:
- 如果有号码
- 如果数字是 1-3 位数字。
- 如果在开头、结尾或分隔点处有一个点(我可以用字符串替换对点进行最后两次检测,但检测到我不知道的数字)。
我已经有了在标签中提取数据的 for 循环:
for %%Z in (hide_2.htm) do (
for /F "tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 delims=<>" %%A on ('grep -B 1411 -E "</table>" %%Z ^| grep -E ^"^(display^|^^\d\d{1,3}^|country^|^<td^>HTTP^|rightborder^).*$^" ') do (
echo A:%%A + %%B + %%C + %%D + %%E + %%F + %%G + %%H + %%I + %%J + %%K + %%L
pause
)
)
输入为:A: + td + span + span + 41 + /span + span style="display: none;" + 111
+ /span + div + +
A: style="display: none;" + 190 + /div + span class="" style="" + . + /span + span + 197 + /span + span + +
A: style="display: none;" + 24 + /跨度 + 跨度 + /跨度 + 。+ span style="display: + + + +
A:inline;" + 132 + /span + span style="display: none;" + 39 + /跨度 + 。+ 跨度 + + + +
A:style="display: inline;" + 186 + /span + /span + /td + + + + + + +
A: + td rel="rw" + span class="country" + img + + + + + + + +
A: + td + HTTPS + /td + + + + + + + +
源数据取自这里。
编辑: 最好是保留两个变量。第一个变量保留数字,第二个变量保留点或标记(如果点存在)。
Edit2: 输入值可以是例如:120,132,186,24,111,41,., or .120,.132,.186,.24,.111,.41 ...这些值可以在任何列中。
Edit3: 数字总是在列的末尾。点可以在开始,但不能在数字变量的结果中。