2017-04-17 49 views
0

一場比賽我有以下XML文件正則表達式在node.js中找到一個XML

<configs> 
    <config environment="DEV"> 
     <URL>http://www.devurl.com</URL> 
    </config> 
    <config environment="SIT"> 
     <URL>http://www.siturl.com</URL> 
    </config> 
    <config environment="UAT"> 
     <URL>http://www.uaturl.com</URL> 
    </config> 
    <config environment="PROD"> 
     <URL>http://www.produrl.com</URL> 
    </config> 
</configs> 

,我試圖寫一個正則表達式查找配置爲PROD環境中的URL值。下面是我的樣本正則表達式

var regexp = /<config environment="PROD">[^]*?<\/config>/gi; 
var matches_array = data.match(regexp); 
console.log(matches_array[0]); 

返回

<config environment="PROD"> 
    <URL>http://www.produrl.com</URL> 
</config> 

結果,但我希望我的正則表達式應該獨自返回URL標記爲類似這樣的結果:

<URL>http://www.produrl.com</URL> or http://www.produrl.com 
可以在任何

一個幫助我得到這項工作。

在此先感謝..!

+0

你會用XML解析器更好.... https://www.npmjs.com/package/xml-parser –

+0

我認爲這在技術上是一個重複http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – snek

回答

0
/(?=config environment="PROD").*\s*<URL>([^<]*)<\/URL>/gm 

Demo

我把督促環境配置和提取它的網址:

  • (?=config environment="PROD")正向前查找,檢查我們是在PROD環境配置
  • .*\s*<URL> ... <\/URL>只是需要照顧,我們從URL裏面標籤
  • ([^<]*)服用URL我們在這裏有一個Capturing Group提取的URL。

我希望這有助於

+0

@ Andrei Voicu - 它的工作..!非常感謝..! – Mohan