var str='<table><tr><td><img src="{objpath=/Project/Reports/demo/support/images/{val}.' + 'png}" /></td></tr></table>'
//我怎么根据正则表达式 提取出 {objpath=/Project/Reports/demo/support/images/{val}.' + 'png}
var str='<table><tr><td><img src="{objpath=/Project/Reports/demo/support/images/{val}.' + 'png}" /></td></tr></table>'
//我怎么根据正则表达式 提取出 {objpath=/Project/Reports/demo/support/images/{val}.' + 'png}
试了一把上面的正则在console
var str = '<table><tr><td><img src="{objpath=/Project/Reports/demo/support/images/{val}.' + 'png}" /></td></tr></table>'
str.match(/(?<=src=").*?(?=\")/)[0]
// -> "{objpath=/Project/Reports/demo/support/images/{val}.png}"
(?<=y)x
匹配'x'仅仅当'x'前面是'y'.这种叫做后行断言。
例如,/(?<=Jack)Sprat/会匹配到' Sprat '仅仅当它前面是' Jack '。/(?<=Jack|Tom)Sprat/匹配‘ Sprat ’仅仅当它前面是'Jack'或者是‘Tom’。但是‘Jack’和‘Tom’都不是匹配结果的一部分。
x(?=y)
匹配'x'仅仅当'x'后面跟着'y'.这种叫做先行断言。
例如,/Jack(?=Sprat)/会匹配到'Jack'仅仅当它后面跟着'Sprat'。/Jack(?=Sprat|Frost)/匹配‘Jack’仅仅当它后面跟着'Sprat'或者是‘Frost’。但是‘Sprat’和‘Frost’都不是匹配结果的一部分。
笔记摘抄自: 正则表达式
10 回答11.1k 阅读
15 回答8.3k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
正则表达式献上:(?<=src=").*?(?=")
好用了给个采纳,有用,谢谢