Javascript REGEX - PullRequest
       7

Javascript REGEX

0 голосов
/ 17 мая 2010
<th>Prêmio</th>
    <td colspan="11">
    <div class="res"><img class="r1" src="img/x.gif" alt="Madeira" title="Madeira" />215 | <img class="r2" src="img/x.gif" alt="Barro" title="Barro" />193 | <img class="r3" src="img/x.gif" alt="Ferro" title="Ferro" />192 | <img class="r4" src="img/x.gif" alt="Cereal" title="Cereal" />202</div><div class="carry"><img class="car" src="img/x.gif" alt="carregamento" title="carregamento" />802/1800</div></td></tr></tbody></table><table cellpadding="1" cellspacing="1" class="defender">
    <thead>
    <tr>

Я пытаюсь получить "802/1800", но это сводит меня с ума. если я использую:

var myregexp = /title="carregamento"/;

работает

но перейдем к следующему шагу:

var myregexp = /title="carregamento" \/>/

уже возвращает меня к нулю.

var myregexp = /title="carregamento" \/>/;

var match = myregexp.exec(document.documentElement.innerHTML);

FM_log(7,"match="+match);

if (match != null)
    resultado.push(match[1]);

Ответы [ 3 ]

1 голос
/ 17 мая 2010

Правильное выражение, которое вы опубликовали, является правильным:

var myregexp = / title = "carregamento" /> /

на самом деле это соответствует строке, равной перед"802/1800 "строка

1 голос
/ 17 мая 2010

Вам, вероятно, следует опубликовать точный код, потому что может быть что-то не так, что не совсем связано с объектом регулярного выражения.

Если я проверю это на regextester.com , оно отлично работает.

Я использую следующее регулярное выражение, и оно соответствует строке до 802/1800, и выбирает 802/1800 в группу захвата.

title="carregamento" \/>(\d+\/\d+)
0 голосов
/ 18 мая 2010

Нашел, в чем проблема. Очевидно, есть разница между тем, что Firefox показывает мне, когда я выбираю «просмотреть источник документа», и тем, что javascript дает мне в качестве источника. Вот разница:

источник Firefox:

<img class="car" src="img/x.gif" alt="carregamento" title="carregamento" />802/1800</div>

Источник JavaScript: (Я создал журнал, показывающий мне document.documentElement.innerHTML

<img class="car" src="img/x.gif" alt="carregamento" title="carregamento">802/1800</div>

так что разница была просто />

Я также улучшил код до:

        var myregexp = /title="carregamento">(.+?)\/(.+?)<\/div>/;


        FM_log(7,"myregexp="+myregexp);

        var resultado = [];

        var match = myregexp.exec(document.documentElement.innerHTML);

        //FM_log(7, document.documentElement.innerHTML);

        FM_log(7,"match="+match);

        if (match != null) {
            resultado.push(match[1])
            resultado.push(match[2])
            };

        FM_log(7,"resultado[0]="+resultado[0]+" resultado[1]="+resultado[1]);           

        efficiency = Math.round(resultado[0] / resultado[1] * 100);

        gain = resultado[0];

это окончательный код и отлично работает.

Спасибо всем, кто внес свой вклад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...