我有以下字符串,
var str = "/\S\w\djoseph/";
我只是想获取不符合以下模式的字符,
/\\(\w|\d)/
我的意思是我只想从上面的字符串中提取 joseph 。我试过以下但我的正则表达式没有按预期工作。
var str = "/\S\w\djoseph/";
var mat = /[^\\(\w|\d)]/g.exec(str);
console.log(mat); //["/"]
任何人都可以帮我从我的目标字符串中获取所需的字符串吗?
答案 0 :(得分:1)
您可以在.replace
中使用此正则表达式进行回调:
/\S\whello\s\d/.source.replace(/(\\[wsd])|(.)/g, function($0, $1, $2){
return ($1 == undefined ? "" : $1) + ($2 != undefined ? $2.toUpperCase() : "");
})
//=> "\S\wHELLO\s\d"
这将大写任何非\w
或\s
或\d
的内容。
答案 1 :(得分:0)
如何用空字符串替换匹配\.
的所有内容?
var a = '\\a\\btest\\c\\d';
var result = a.replace(/\\./g, '');
console.log(result);