在两个不同的场景中,我有两个我需要的例子:
1.第一个:
如果我有一个简单的字符串:
var message = "Hello World";我想要有正则表达式的结果:
'Hello World'我知道我能做到:
message.replace(/^/, "'").replace(/$/, "'");我的问题:如何用一个regex.做:我是说,像这样的事情:(当然,这不起作用):
message.replace(/(^|$)/, "'");
2.第二个:
同样,简单的字符串:
var message = "Hello World";我想要有正则表达式的结果:
#Hola Mundo%当然,我可以:
message.replace(/^/, "#").replace(/$/, "%");同样的问题:我如何用一个regex做
我知道这是一个简单的问题,但很高兴得到答案。
发布于 2016-07-11 20:37:37
您需要的最合适的方法是使用字符串连接。
如果您想学习regex:
message.replace(/^|$/g, "'"); -您需要使用/g来执行全局搜索和替换解释
^ -字符串的开始| -或$ -字符串的结尾/g -执行全局搜索和替换message.replace(/^[^]*$/, "#$&%")或message.replace(/^[\s\S]*$/, "#$&%")解释
^ -字符串的开始[^]* -零或多个字符(在JS中,[^]并不意味着什么)(可以用[\s\S]* / [\w\W]* / [\d\D]*替换以匹配BMP平面上的任何字符)。$ -字符串的末端。请参阅这个regex演示
替换模式中的$&是对整个匹配的反向引用。$1引用组1,即在模式中定义的第一个(...)捕获组值,但是如果需要引用整个匹配,则应该使用$&构造。
https://stackoverflow.com/questions/38315671
复制相似问题