I am using this expression: /\W+/g
to match all characters that are not numbers, letters and spaces. It seems to be including spaces. How would I build a regex that did not include spaces?
I am using this expression: /\W+/g
to match all characters that are not numbers, letters and spaces. It seems to be including spaces. How would I build a regex that did not include spaces?
3 Answers
Reset to default 2/[^a-z0-9\s]+/ig
Explanation:
[^ Character class which matches characters NOT in the following class
a-z All lowercase letters of the alphabet
0-9 All numbers
\s Whitespace characters
] End of the character class
i Case-insensitivity to match uppercase letters
A more accurate wording for \W
is any Non-Alphanumeric character.
\s
is for Any Whitespace.
So, it would be something like this: [^\s]
\W
means "non-word characters", the inverse of \w
, so it will match spaces as well. I'm a bit surprised it doesn't match numbers, though.