我希望将匹配模式以外的所有字符大写。
模式:
abc*
输入:
xyz a56abccc 789def
结果:
XYZ A56abccc 789DEF
可以在JavaScript中使用吗?
答案 0 :(得分:1)
您可以使用基于前瞻功能:
var s = 'xyz a56abccc 789def';
var r = s.replace(/(?![abc])[a-z]/g, function($1) { return $1.toUpperCase(); });
//=> "XYZ a56abccc 789DEF"
(?![abc])[a-z]
将匹配任何小写字母,除非它是列表中的其中一个,即[abc]
答案 1 :(得分:0)
这是上面的修改版本,它传递了test。
(?![abc]+\b)[a-z]
代表
var s = 'xyz a56abccc 789def';
var r = s.replace(/(?![abc]+\b)[a-z]/g, function($1) { return $1.toUpperCase(); });
//=> "XYZ A56abccc 789DEF"