Javascript 正则表达式地址提取

Javascript 正则表达式地址提取,javascript,regex,Javascript,Regex,我正经历着最困难的时刻来正确处理这件事 我有下面的HTML,我正试图解析地址“100e-Faither” 佛罗里达州梅特兰市,邮编32751,邮编:32751 我试图将上面的html传递给这组代码,但我没有得到匹配项,我不明白为什么,即使我在regex测试仪中尝试了它,它仍然有效。我快疯了 function demoShowMatchClick(addressToPull) { var re = new RegExp("\s{5}(.*?<br>)");

我正经历着最困难的时刻来正确处理这件事

我有下面的HTML,我正试图解析地址“100e-Faither”

佛罗里达州梅特兰市,邮编32751,邮编:32751 我试图将上面的html传递给这组代码,但我没有得到匹配项,我不明白为什么,即使我在regex测试仪中尝试了它,它仍然有效。我快疯了

    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);
      }
    }
函数demoShowMatchClick(addressToPull){
var re=new RegExp(“\s{5}(.*?
)”; var m=重新执行(addressToPull); 如果(m==null){ 警惕(“不匹配”); }否则{ var s=“匹配位置”+m.index+“:\n”; 对于(i=0;i
我在这里错过了什么?

这对我来说很有用:

var re = new RegExp("\\s{5}(.*?<br>)");
var re=new RegExp(“\\s{5}(.*?
)”);
正在逃离\s

如果使用literal regexp语法,则不必担心字符串转义:

var re = /\s{5}(.*?<br>)/
var re=/\s{5}(.*?
)/
您必须对功能进行以下更改
函数demoShowMatchClick(addressToPull){
var re=\s{5}(.*?
); var m=重新执行(addressToPull); if(重新测试(addressToPull)){ var s=“匹配位置”+m.index+“:\n”; 对于(i=0;i
查看我的答案,但是,我不确定匹配特定数量的空格是否是一个好主意。使用正则表达式解析HTML,是吗?谢谢。除了出于某种原因,我从这个函数中得到了两倍的地址。100e-Faith-Ter
,100e-Faith-Ter
函数demoShowMatchClick(addressToPull){var re=/\s{5}(.*?
)/;var m=re.exec(addressToPull);返回m;
var re = /\s{5}(.*?<br>)/
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");
        }

      }
    }