0

私はこれを正しくするのに最も苦労しています。

アドレス「100 E Faith Ter」を解析しようとしている次の HTML があります。

    <span style="border-color: rgb(0, 0, 255); border-width: 2px; border-style: solid;"                 class="addr">     100 E Faith Ter<br>            <span class="locality">Maitland</span>,                     <span class="region">FL</span>            <span class="postal-code">32751</span>                    </span>l-code">32751</span>            </span>

上記の html をこのコード セットに渡そうとしていますが、一致が得られず、正規表現テスターで試してみて動作するにもかかわらず、その理由がわかりません。気が狂いそうです。

    function demoShowMatchClick(addressToPull) {
      var re = new RegExp("\s{5}(.*?<br>)");
      var m = re.exec(addressToPull);
      if (m == null) {
        alert("No match");
      } else {
        var s = "Match at position " + m.index + ":\n";
        for (i = 0; i < m.length; i++) {
          s = s + m[i] + "\n";
        }
        alert(s);
      }
    }

ここで何が欠けていますか?

4

2 に答える 2

0
you have to make following changes in your function

 function demoShowMatchClick(addressToPull) {
      var re = \s{5}(.*?<br>);
      var m = re.exec(addressToPull);
      if (re.test(addressToPull)) {
        var s = "Match at position " + m.index + ":\n";
        for (i = 0; i < m.length; i++) {
          s = s + m[i] + "\n";
            alert(s);
      } else {

             alert("No match");
        }

      }
    }
于 2013-02-02T06:13:33.130 に答える
0

これは私のために働いた:

var re = new RegExp("\\s{5}(.*?<br>)");

\s のエスケープ

リテラル正規表現構文を使用する場合、文字列のエスケープについて心配する必要はありません。

var re = /\s{5}(.*?<br>)/
于 2013-02-02T06:04:37.893 に答える