——海
鲁迅说:愿中国青年都摆脱冷气,只是向上走,不必听自暴自弃者流的话。 能做事的做事,能发声的发声。 有一分热,发一分光,就令萤火一般,也可以在黑暗里发一点光,不必等候炬火。 此后如竟没有炬火:我便是唯一的光。
  1. 需求:从124fddr323532${xxxasdsafxx}253${bnm}23354${abcd}233545xx54${666}233545xxxxx这类字符串中获取${}中的内容。注意${xxx}的个数是不确定的。

使用了match和exec两种方式实现,直接上代码(更推荐第二种):

function getMatchedStrs (str) {
var reg = /${(.+?)}/
var reg_g = /${(.+?)}/g
var result = str.match(reg_g)
var list = []
for (var i = 0; i < result.length; i++) {
var item = result[i]
list.push(item.match(reg)[1])
}
return list
}

function getExecStrs (str) {
var reg = /${(.+?)}/g
var list = []
var result = null
do {
result = reg.exec(str)
result && list.push(result[1])
} while (result)
return list
}

  1. Python中:
def findAllStrs():
    strs = '124fddr3235323423532${xxxasdsafxx}253${bnm}23354${abcd}233545xx54${666}233545xxxxx'
    pattern = '\$\{(.+?)\}'
    reg = re.compile(pattern)
    result = reg.findall(strs)
    # print result
    return result
posted on 2019-08-27 22:23  ——海  阅读(31794)  评论(1)    收藏  举报