###正则表达式后的任何数字

时间:2018-10-23 13:13:01

标签: javascript

我有如下字符串

###method:song:2###

也像下面这样的字符串

###method:song:2######method:movie:4###

数字2和4不是静态的,它的动态0-9是任意数字。

我需要替换如下字符串 enter image description here

任何人都可以帮我解决这个问题。

我在下面尝试过开始###更改

str = str.replace(new RegExp('###method', 'gi'),'<div>###method');

http://jsfiddle.net/Ayt9S/417/

3 个答案:

答案 0 :(得分:1)

str = str.replace(/(###method:(song|movie):\d###)/, '<div>$1</div>');

答案 1 :(得分:0)

str.replace(/(###method:.+?:\d###)/gi, '<div>$1</div>')

答案 2 :(得分:0)

使用捕获组

匹配###,除#以外的任何其他内容以及###

var str = '###method:song:2######method:movie:4###'
console.log(str.replace(/(###[^#]+###)/g,"<div>$1</div>")) // keep #
console.log(str.replace(/###([^#]+)###/g,"<div>$1</div>")) // ignore #