正则expression式,除白色空格或冒号以外的每个非字母数字字符
我似乎无法弄清楚如何在任何地方做到这一点。 任何帮助?
基本上我试图匹配各种各样的杂项字符,如&符号,分号,美元符号等等。
[^a-zA-Z\d\s:]
- \ d – 数字类
- \ s – 空格
- a-zA-Z – 匹配所有的字母
- ^ – 否定所有 – 所以你得到 – 非数字字符,非空格和非冒号
这应该这样做: [^a-zA-Z\d\s:]
希望它有帮助!
尝试这个
[^a-zA-Z0-9 :]
JS例子:
"!@#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".")
看一个在线的例子:
如果你想用正常的字母来对待重音的拉丁字符(例如.àÑ)(也就是避免与之匹配),你还需要在正则expression式中包含合适的Unicode范围( \ u00C0- \ u00FF ),所以它看起来像这样:
/[^a-zA-Z\d\s:\u00C0-\u00FF]/g
-
^
否定如下 -
a-zA-Z
匹配大写和小写字母 -
\d
匹配数字 -
\s
匹配空格(如果您只想匹配空格,请用空格replace) -
:
匹配一个冒号 -
\u00C0-\u00FF
匹配重音拉丁字符的Unicode范围。
NB。 Unicode范围匹配可能不适用于所有的正则expression式引擎,但是上面的确可以在Javascript中使用(如在Codepen上的这个笔中所看到的)。
NB2。 如果您对匹配下划线不感兴趣,可以用\w
replacea-zA-Z\d
,它匹配字母,数字和下划线。
没有字母数字,空格或“_”。
var reg = /[^\w\s)]|[_]/g;
如果您的意思是“非字母数字字符”,请尝试使用它
var reg =/[^a-zA-Z0-9]/g //[^abc]
尝试添加这个
^[^a-zA-Z\d\s:]*$
这已经为我工作… 🙂
"0_0 (: /-\ :) 0-0".replace(/[^a-zA-Z0-9 :]/g,"")
已经为我工作了。 然而,
replace(/[^a-zA-Z/d :]/g,"")
没有为我工作。