这是我的正则表达式:我想用空值替换字符串,以便只留下不需要的字符。它以某种方式返回相同的字符串,而不是替换正则表达式中定义的任何字符:
var regExpress = /^([a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]*)$/gi;
strMessage = strMessage.replace(regExpress, '');
我做错了什么?我知道它应该很简单,但无法弄明白。
答案 0 :(得分:3)
删除^
和$
。这些是字符串开头和结尾的标记。
如果没有这些,只有当整个字符串包含模式中指定的字符时,您的方法才会替换字符。
答案 1 :(得分:2)
如果我理解正确,你想用空字符串''
替换正则表达式中指定的所有字符吗?
在这种情况下,你的正则表达式中有很多错误。试试这个正则表达式:
/[a-zA-Z0-9!#%^*()\-\_+=|}{'";:\/.,\s]/gi
即使这样也可以简化,例如\w
的{{1}}。
a-zA-Z0-9_