i want to match a string that can have any type of whitespace chars (specifically I am using PHP). or any way to tell if a string is empty or just has whitespace will also help!
regex matches everything for empty string ("") as a pattern #896.
An empty regular expression matches everything.
To match empty lines, use the pattern ' ^$ '.
\s stands for “whitespace character”. Again, which characters this actually includes, depends on the regex flavor. In all flavors discussed in this tutorial, it includes [ \t\r\n\f]. That is: \s matches a space, a tab, a carriage return, a line feed, or a form feed.
You don't need regular expressions for that, just use:
if ( Trim ( $str ) === '' ) echo 'empty string';
Checking the length of the trimmed string, or comparing the trimmed string to an empty string is probably the fastest and easiest to read, but there are some cases where you can't use that (for example, when using a framework for validation which only takes a regex).
Since no one else has actually posted a working regex yet...
if (preg_match('/\S/', $text)) {
// string has non-whitespace
}
or
if (preg_match('/^\s*$/', $text)) {
// string is empty or has only whitespace
}
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