如何在两个字符串之间匹配和查找带有正则表达式的原始文件,并在两者之间获取整个字符串?



我要从站点中提取一些数据,我想找到两个特定字符串之间的字符串并返回,我该如何处理它?我正在使用JavaScript。

我将通过添加我要进行提取的字符串来明确说明, 例如,这是我得到的文本:

<td class="nf"><span class="low">(0.08%) 40</span></td>
<td>48,180</td>
<td>48,460</td>
<td>asasasas</td>
<td class="chart-td"><a data-tooltip="saasasa" class="chart-icon" target="_blank" href="chart/price_aed"></a></td>
</tr>
<tr data-market-row="price_try"
data-title="<div class='tooltip-row'><span class='tooltip-row-txt'>25920 aasas sasaa </span><span class='tooltip-row-change'><span class='type low'>(0.12%) 30</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>25940 asasa </span><span class='tooltip-row-change'><span class='type low'>(0.04%) 10</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>25930 sasaas </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr> <div class='highlight'>assasa25,990</div><div class='tooltip-info'>sasasasa</div>"
class="pointer " onclick="if (!window.__cfRLUnblockHandlers) return false; window.location='chart/price_try'"
data-price="25,920" data-cf-modified-4bf6cd1a2128b0ccaf953372-="">
<th><span class="mini-flag flag-tr"></span>skkss </th>
<td class="nf">25,920</td>
<td class="nf"><span class="low">(0.12%) 30</span></td>
<td>25,860</td>
<td>26,010</td>
<td>sssss</td>
<td class="chart-td"><a data-tooltip="sssss" class="chart-icon" target="_blank" href="chart/price_try"></a></td>
</tr>
<tr data-market-row="price_cny"
data-title="<div class='tooltip-row'><span class='tooltip-row-txt'>24830 saasa asasa </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>24820 222 ssa </span><span class='tooltip-row-change'><span class='type low'>(0.12%) 30</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>24830 2ss 22222 </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr> <div class='highlight'>sasasas: 24,890</div><div class='tooltip-info'>ssssaaa</div>"
class="pointer " onclick="if (!window.__cfRLUnblockHandlers) return false; window.location='chart/price_cny'"
data-price="24,830" data-cf-modified-4bf6cd1a2128b0ccaf953372-="">
<th><span class="mini-flag flag-cn"></span>ssssss </th>
<td class="nf">24,830</td>
<td class="nf"><span class="low">(0.08%) 20</span></td>

我想检索所有字符串以<tr data-market-row="price_try"字符串并以/price_try"></a></td></tr>结尾的字符串

str.replace(/r?n|r/g, '').match(/<tr data-market-row="price_try"(.*)/price_try"></a></td></tr>/)[1];

使用这个

假设字符串

let str = `<td class="nf"><span class="low">(0.08%) 40</span></td>
<td>48,180</td>
<td>48,460</td>
<td>asasasas</td>
<td class="chart-td"><a data-tooltip="saasasa" class="chart-icon" target="_blank" href="chart/price_aed"></a></td>
</tr>
<tr data-market-row="price_try"
data-title="<div class='tooltip-row'><span class='tooltip-row-txt'>25920 aasas sasaa </span><span class='tooltip-row-change'><span class='type low'>(0.12%) 30</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>25940 asasa </span><span class='tooltip-row-change'><span class='type low'>(0.04%) 10</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>25930 sasaas </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr> <div class='highlight'>assasa25,990</div><div class='tooltip-info'>sasasasa</div>"
class="pointer " onclick="if (!window.__cfRLUnblockHandlers) return false; window.location='chart/price_try'"
data-price="25,920" data-cf-modified-4bf6cd1a2128b0ccaf953372-="">
<th><span class="mini-flag flag-tr"></span>skkss </th>
<td class="nf">25,920</td>
<td class="nf"><span class="low">(0.12%) 30</span></td>
<td>25,860</td>
<td>26,010</td>
<td>sssss</td>
<td class="chart-td"><a data-tooltip="sssss" class="chart-icon" target="_blank" href="chart/price_try"></a></td>
</tr>
<tr data-market-row="price_cny"
data-title="<div class='tooltip-row'><span class='tooltip-row-txt'>24830 saasa asasa </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>24820 222 ssa </span><span class='tooltip-row-change'><span class='type low'>(0.12%) 30</span></span></div><hr><div class='tooltip-row'><span class='tooltip-row-txt'>24830 2ss 22222 </span><span class='tooltip-row-change'><span class='type low'>(0.08%) 20</span></span></div><hr> <div class='highlight'>sasasas: 24,890</div><div class='tooltip-info'>ssssaaa</div>"
class="pointer " onclick="if (!window.__cfRLUnblockHandlers) return false; window.location='chart/price_cny'"
data-price="24,830" data-cf-modified-4bf6cd1a2128b0ccaf953372-="">
<th><span class="mini-flag flag-cn"></span>ssssss </th>
<td class="nf">24,830</td>
<td class="nf"><span class="low">(0.08%) 20</span></td>`

您可以使用以下正则表达式提取您的事物:

str.replace(/r?n|r/g, '').match(/<tr data-market-row="price_try"(.*)/price_try"></a></td></tr>/)[1];

最新更新