I am trying to make simple regex that will check if a line is blank or not.
Case;
" some" // not blank
" " //blank
"" // blank
I am trying to make simple regex that will check if a line is blank or not.
Case;
" some" // not blank
" " //blank
"" // blank
The most portable regex would be ^[ \t\n]*$
to match an empty string (note that you would need to replace \t
and \n
with tab and newline accordingly) and [^ \n\t]
to match a non-whitespace string.
The pattern you want is something like this in multiline mode:
^\s*$
Explanation:
^
is the beginning of string anchor$
is the end of string anchor\s
is the whitespace character class*
is zero-or-more repetition ofIn multiline mode, ^
and $
also match the beginning and end of the line.
You can also check if a given string line
is "blank" (i.e. containing only whitespaces) by trim()
-ing it, then checking if the resulting string isEmpty()
.
In Java, this would be something like this:
if (line.trim().isEmpty()) {
// line is "blank"
}
The regex solution can also be simplified without anchors (because of how matches
is defined in Java) as follows:
if (line.matches("\\s*")) {
// line is "blank"
String String.trim()
boolean String.isEmpty()
true
if, and only if, length()
is 0
. boolean String.matches(String regex)
Here Blank mean what you are meaning.
A line contains full of whitespaces or a line contains nothing.
If you want to match a line which contains nothing then use '/^$/'.