Регулярное выражение
Имеется следующая строка:
<tr>
<th title="Referring Pages" class="border-top pull-05top"><strong>Ref pages</strong></th>
<td class="font90 border-top">
<a href="/site-explorer/backlinks/domain/mail.ru" onClick="ProcessObj.show();_gaq.push(['_trackEvent', 'SiteExplorer', 'Turn off backlinks filter in backlinks']);">499’198</a>
</td>
</tr>
<tr class="zebra">
<th title="Backlinks" class="pull-2right strong "><strong>Total Backlinks</strong></th>
<td class="font90">
<a href="/site-explorer/backlinks/domain/mail.ru/backlink" onClick="ProcessObj.show();_gaq.push(['_trackEvent', 'SiteExplorer', 'Turn on backlinks filter backlink in backlinks']);">502’124</a>
</td>
</tr>
нужно спарсить значение 499’198, при этом можно ориентироваться на <strong>Ref pages</strong> и теги, так как классы и атрибуты меняются, Нужно учитывать что дальше многократно повторяются подобные блоки кода, но у всех разное <strong>Ref pages</strong> . В место 499’198 может быть просто число или что то типа этого 499’198’654 Что я сделал на данный момент: text.match(/<strong>Ref pages<\/strong>[\s\S]+>(\d|’)+<\/a>/) но нифига не работает. |
Возможно, если вы хотите искать до ближайшего "</a>", нужно сделать квантификатор возле [\s\S] ленивым.
text.match(/<strong>Ref pages<\/strong>[\s\S]+?>((?:\d|’)+)<\/a>/) Ещё ошибка: круглые скобки в (\d|’)+ ловят только последний \d или ’ чтобы выловить всю последовательность, я исправил на ((?:\d|’)+) |
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<table id=000>
<tr>
<th title="Referring Pages" class="border-top pull-05top"><strong>Ref pages</strong></th>
<td class="font90 border-top">
<a href="/site-explorer/backlinks/domain/mail.ru" onClick="ProcessObj.show();_gaq.push(['_trackEvent', 'SiteExplorer', 'Turn off backlinks filter in backlinks']);">499’198</a>
</td>
</tr>
<tr class="zebra">
<th title="Backlinks" class="pull-2right strong "><strong>Total Backlinks</strong></th>
<td class="font90">
<a href="/site-explorer/backlinks/domain/mail.ru/backlink" onClick="ProcessObj.show();_gaq.push(['_trackEvent', 'SiteExplorer', 'Turn on backlinks filter backlink in backlinks']);">502’124</a>
</td>
</tr>
</table>
<script type="text/javascript">
Kawuka=String.fromCharCode(8217);
var text = $("#000").html()
var pattern='^[\\s\\S]*?<strong>Ref pages<\\/strong>[\\s\\S]*?>([0-9]+)'+Kawuka+'[\\s\\S]*<\\/a>[\\s\\S]*$';
var regexp = new RegExp(pattern,"ig");
alert(text.replace(regexp,'$1')) //?>(\\d+'+Kawuka+')+<\\/a>
</script>
|
/\d+&[a-z]+;\d+/
|
Ребят, спасибо всем. Регулярка которую предложил oneguy 100% удовлетворяет требованиям.
|
| Часовой пояс GMT +3, время: 12:48. |