我有一个看起来像这样的字符串:
var string = 'Size? [Small] Color? [Blue]'
我想删除所有non alphanumeric
,但请保留spaces
和[]
结束字符串是
'Size [Small] Color [Blue]'
我试过\ W喜欢这个:
string = string.replace(/\W/g, '')
但是这摆脱了空格和[]
我不确定如何在正则表达式中排除和包含项目?
答案 0 :(得分:2)
我会将您想要的字符列入白名单而不是黑名单:
string.replace(/[^\w[\] ]/g, '');
答案 1 :(得分:2)
\W
匹配所有非单词字符。
要匹配除空格[
和]
以外的所有非字母数字,您应使用否定字符类:
/[^a-zA-Z0-9 \[\]]/
<强>代码:强>
let string = 'Size? [Small] Color? [Blue]';
string = string.replace(/[^a-zA-Z0-9 \[\]]+/g, '')
console.log( string );
//=> Size [Small] Color [Blue]
&#13;