javascript - 正则表达式删除字母数字但保留 Javascript 中的括号和空格

标签 javascript regex

我有一个如下所示的字符串:

var string = '大小? [小]颜色? [蓝色]'

我想删除所有非字母数字,但保留空格[]

结束字符串是

'尺寸[小]颜色[蓝色]'

我尝试了\W 像这样:

string = string.replace(/\W/g, '')

但这消除了空格和[]

我不确定如何在正则表达式中排除和包含项目?

最佳答案

\W 匹配所有非单词字符。

要匹配除空格、[] 之外的所有非字母数字,您应该使用否定字符类:

/[^a-zA-Z0-9 \[\]]/

RegEx Demo

代码:

let string = 'Size? [Small] Color? [Blue]';

string = string.replace(/[^a-zA-Z0-9 \[\]]+/g, '') 

console.log( string );
//=> Size [Small] Color [Blue]

关于javascript - 正则表达式删除字母数字但保留 Javascript 中的括号和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50280716/

相关文章:

javascript - 在不可变 Map 中设置而不覆盖先前的值

javascript - 如何修复chartJS中水平点(x轴)之间的距离

javascript - 在 JavaScript 中将对象转换为字符串的区别

regex - 这个符号在正则表达式中表示 "?:"是什么意思?

java - 使用基于java的正则表达式查询Oracle

.net - 从正则表达式捕获组中找到最佳匹配

Javascript - 从 Canvas 元素下的图像获取像素数据?

javascript - 正则表达式匹配 html 样式属性的有效值

javascript - 如何使用 CycleJS 的 cookie 驱动程序

javascript - 使用 javascript 将服务器响应字符串转换为有效的 JSON