首页 新闻 会员 周边 捐助

js用正则表达式获取html字符串之间的值

0
悬赏园豆:10 [已解决问题] 解决于 2018-04-23 14:23

<span id="#=LocationId#">#=LocationName#</span>
获取以上所有#=和#之间的值!如(locationId和LocationName)

出露锋芒的主页 出露锋芒 | 初学一级 | 园豆:193
提问于:2018-04-23 12:49
< >
分享
最佳答案
0

# python写法   正则就是 r"#=(.*?)#"

import re

# findall找到所有的符合正则的值,以列表的形式返回

re.findall(r'#=(.*?)#', s)    

>>> ['LocationId', 'LocationName']

收获园豆:8
JonPan | 菜鸟二级 |园豆:210 | 2018-04-23 13:04

不好意思,我标题没写清楚,我是想用js写的,请问js怎么写?

出露锋芒 | 园豆:193 (初学一级) | 2018-04-23 13:21

@出露锋芒: 

s = '<span id="#=LocationId#">#=LocationName#</span>'

re = /#=(.*?)#/g

# 循环获取

while ((b = re.exec(s)) != null){ alert(b[1]);}

JonPan | 园豆:210 (菜鸟二级) | 2018-04-23 14:14
其他回答(1)
0
const regex = /#=(.*?)#/g;
const str = `<span id="#=LocationId#">#=LocationName#</span>`;
var result2 = regex.exec(str);

while (result2 != null) {
  console.log(result2[1])
  result2 = regex.exec(str);
}

PS:加不加 [] 都一样

收获园豆:2
BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2018-04-23 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册