我正在尝试创建一个正则表达式,它将替换所有不在指定白名单中的字符(字母,数字,空格,括号,问号和说明标记)
这是代码:
var regEx = /^[^(\s|\w|\d|()|?|!|<br>)]*?$/;
qstr += tempStr.replace(regEx, '');
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
谢谢
<br>是错误的 - 您无法匹配字符类中的特定子字符串.\d是多余的,因为它已经包含在内\w(感谢Alex K.!)+而不是*为了不用自己替换大量空字符串.尝试
var regEx = /[^\s\w()?!]+/g;
Run Code Online (Sandbox Code Playgroud)
并<br>独立处理s(在应用正则表达式之前,或删除括号).