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.
Whitespace character: \s. Non-whitespace character: \S.
You can easily trim unnecessary whitespace from the start and the end of a string or the lines in a text file by doing a regex search-and-replace. Search for ^[ \t]+ and replace with nothing to delete leading whitespace (spaces and tabs). Search for [ \t]+$ to trim trailing whitespace.
[] denotes a character class. () denotes a capturing group. [a-z0-9] -- One character that is in the range of a-z OR 0-9.
Which modifier ignores white space in regex? Turn on free-spacing mode to ignore whitespace between regex tokens and allow # comments. Turn on free-spacing mode to ignore whitespace between regex tokens and allow # comments, both inside and outside character classes.
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.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With