'Regular Expression to Match Non-Whitespace Characters
I need to make a regular expression that matches something like:
JG2144-141/hello
or
!
but not:
laptop bag
or a string consisting of whitespace chars only (' ').
Right now I have [A-Za-z0-9-!/\S], but it isn't working because it still matches with laptop and bag individually. It shouldn't match laptop bag and the empty string at all.
Solution 1:[1]
In general, to match any non-whitespace char, you can use
\S # Common modern regex flavors
[^[:space:]] # POSIX compliant
[[:^space:]] # POSIX extension (available in some flavors)
%S # Lua patterns
The \S in [A-Za-z0-9-!/\S] makes this character class equal to \S, but you want to make sure all chars in the string are non-whitespace chars. That is why you should wrap the pattern with ^ and $ anchors and add a + quantifier after \S to match 1 or more occurrences of this subpattern.
You may use
^\S+$
See the regex demo
Details
^- start of string\S+- 1 or more non-whitespace chars$- end of string.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
