如何用PowerShell正则表达式提取字符串中的第三个数字?
提取HTML行中第三个数字的正则实现方法
正则表达式设计
针对你给出的固定格式HTML字符串,可使用以下正则定位并提取第三个数字:
<tr><td>Sum</td><td>\d+</td><td>\d+</td><td>(\d+)</td>
- 匹配逻辑:先锁定固定前缀
<tr><td>Sum</td>,跳过前两个包含数字的<td>块,最后通过捕获组(\d+)提取目标数字。 - 兼容优化:如果
<td>标签内可能存在空格(如<td> 132 </td>),可调整为:<tr><td>Sum</td><td>\s*\d+\s*</td><td>\s*\d+\s*</td><td>\s*(\d+)\s*</td>
常见语言实现示例
Python
import re target_str = '<tr><td>Sum</td><td>10</td><td>0</td><td>132</td><td> </td><td>35</td><td>465</td><td>0</td><td>56</td><td>42</td></tr>' regex_pattern = r'<tr><td>Sum</td><td>\d+</td><td>\d+</td><td>(\d+)</td>' match_result = re.search(regex_pattern, target_str) if match_result: third_num = match_result.group(1) print(third_num) # 输出:132
JavaScript
const targetStr = '<tr><td>Sum</td><td>10</td><td>0</td><td>132</td><td> </td><td>35</td><td>465</td><td>0</td><td>56</td><td>42</td></tr>'; const regexPattern = /<tr><td>Sum<\/td><td>\d+<\/td><td>\d+<\/td><td>(\d+)<\/td>/; const matchResult = targetStr.match(regexPattern); if (matchResult) { const thirdNum = matchResult[1]; console.log(thirdNum); // 输出:132 }
内容的提问来源于stack exchange,提问作者yishai
相关产品推荐
相关产品推荐

