这个正则咋写啊

111$$_{preGradeName}_$$2222$$_{preGradeName}_$$3333$$_{gradeName}_$$4444$$_{shortLink}_$$5555

匹配以$$_{ 开头,}_$$结尾

大神们,这个正则咋写

阅读 2.1k
3 个回答
var str = '111$$_{preGradeName}_$$2222$$_{preGradeName}_$$3333$$_{gradeName}_$$4444$$_{shortLink}_$$5555';
var reg = /(?<=\$\$_).*?(?=_\$\$)/g;
str.match(reg);
//["{preGradeName}", "{preGradeName}", "{gradeName}", "{shortLink}"]

var reg = /(?<=\$\$_{).*?(?=}_\$\$)/g;
str.match(reg);
//["preGradeName", "preGradeName", "gradeName", "shortLink"]

(?<=表达式) 后发断言 匹配表达式开头的
eg:

var str = '<a>xxxx</a><a>bbbb</a><a>cc</a>'
var reg = /(?<=<a>).*/
str.match(reg) //xxxx</a><a>bbbb</a><a>cc</a>

(?=表达式) 先行断言 匹配表达式结尾的
eg:

var str = '<a>xxxx</a><a>bbbb</a><a>cc</a>'
var reg = /.*(?=<\/a>)/
str.match(reg) //<a>xxxx</a><a>bbbb</a><a>cc

.* 贪婪模式
eg:

var str = '<a>xxxx</a><a>bbbb</a><a>cc</a>'
var reg = /(?<=<a>).*(?=<\/a>)/
str.match(reg) //xxxx</a><a>bbbb</a><a>cc

.*? 非贪婪模式/惰性匹配

var str = '<a>xxxx</a><a>bbbb</a><a>cc</a>'
var reg = /(?<=<a>).*?(?=<\/a>)/g //配合g属性
str.match(reg) //["xxxx", "bbbb", "cc"]

.match(/\$\$_{[0-9a-z]*}_\$\$/gi)

clipboard.png

/\$\$_{(.*?)_\$\$/g

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题