如下,正则怎么去截取想得到的数据
服务端返回的结果如下怎么截取到这几个字(返回的是纯xml字符串) “北京市海淀区燕园街道北京大学”
<regeocode> <formatted_address>
北京市海淀区燕园街道北京大学
</formatted_address>
<addressComponent>
…
</addressComponent>
</regeocode>
回答:
既然服务端返回的是 xml 格式的数据,那并不推荐使用正则表达式去解析,而是直接用浏览器提供的 DOMParser
去做,可以参考 MDN 文档,或者使用一些封装好的 xml 解析库也可以。
在题主这个场景下,基本使用如下:
const parser = new DOMParser();const parsedDOM = parser.parseFromString(resp, "application/xml");
// 北京市海淀区燕园街道北京大学
parsedDOM.getElementsByTagName("formatted_address")[0].childNodes[0].nodeValue;
如果实在想用正则表达式,也可以:
resp.match(/(?<=<formatted_address>)\s*([^\s]+)\s*(?=\<\/formatted_address>)/)
但是如上所述,并不推荐,因为可能存在性能问题,而且代码不好维护,不如解析来得简单明了。
回答:
`<regeocode> <formatted_address>
北京市海淀区燕园街道北京大学
</formatted_address>
<addressComponent>
…
</addressComponent>
</regeocode>`.match(/北京市海淀区燕园街道北京大学/gm)[0]
回答:
前端用的什么框架?
vue直接v-html=""
js innerHtml = ''
回答:
re.findall("<formatted_address>(.*?)</formatted_address>", response.text, re.S)
回答:
<formatted_address>\s*([\s\S]*)\s*<\/formatted_address>
或
[^>\s]+(?=\s*<\/formatted_address>)
以上是 如下,正则怎么去截取想得到的数据 的全部内容, 来源链接: utcz.com/p/169374.html