2013-02-02 95 views
0

我遇到了最困難的時間,正則表達式地址提取

我有以下的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> 

來解析地址「100 E信仰之三」我「米試圖在這個網站通過以上這組代碼,我「M沒有得到比賽,我不明白爲什麼即使我嘗試在正則表達式測試儀和它的作品。我要瘋了。

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); 
     } 
    } 

缺少什麼我在這裏?

+0

見我的回答,我我不確定這是一個好主意,可以匹配一定數量的空白空間。 – Joel

+0

用正則表達式解析HTML,我們? –

回答

0

這個工作對我:

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

逃離\ S

如果使用正則表達式字面語法,你不必擔心字符串轉義:但是

var re = /\s{5}(.*?<br>)/ 
+0

謝謝。除了現在因爲某種原因,我得到了這個函數的地址的兩倍。 100 E Faith Ter
,100 E Faith Ter
function demoShowMatchClick(addressToPull)var re = /\s{5}(.*?
)/; var m = re.exec(addressToPull); return m; – user2033816

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"); 
     } 

     } 
    }