猿问

正则将[a]123[/a]替换为<a>123</a>

如题, 正则将字符串:

zzzzzzz[a]123[/a],zzz[a]123[/a]

替换为:

zzzzzzz<a>123</a>,zzz<a>123</a>
慕田峪9158850
浏览 386回答 7
7回答

Smart猫小萌

'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[(.+?)\]/g, function(s, tag){ return '<' + tag + '>' })

MYYA

如果用python的话,都不需要正则: src = 'zzzzzzz[a]123[/a],zzz[a]123[/a]' # 1 print(src.replace('[','<').replace(']','>')) # 2 intab = "[]" outtab = "<>" trantab = str.maketrans(intab, outtab) print(src.translate(trantab))

幕布斯7119047

'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[(.*?)\]/g,'<$1>')'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[([^\[\]]*?)\]/g,'<$1>')

一只甜甜圈

直接替换更简单吧、不就两个符号str.replace('[','<').replace(']','>')

德玛西亚99

如果只是简单的把[替换成<,]替换成>。可以用下面方案。 var str = 'zzzzzzz[a]123[/a],zzz[a]123[/a]'; var result = str.replace(/(\[|\])/g,($0 => { var escapeChars = { '[': '<', ']': '>', } console.log($0); return escapeChars[$0]; }) console.log(result); // 也可以加上全局匹配写成跟二楼python的回答类似。 另外:@sarike 的正则可以优化为/\[([^\[\]]*)\]/

慕丝7291255

最简单就是这样了吧 'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[/g,'<').replace(/\]/g,'>')

Helenr

'zzzzzzz[a]123[/a],zzz[a]123[/a]'.replace(/\[([^\[\]]+)?\]/g,'<$1>')
随时随地看视频慕课网APP

相关分类

Java
我要回答