Я пытаюсь сделать простое регулярное выражение, которое проверяет, является ли строка пустой или нет.
Case;
"    some"   // not blank
"   " //blank
"" // blank
Я пытаюсь сделать простое регулярное выражение, которое проверяет, является ли строка пустой или нет.
Case;
"    some"   // not blank
"   " //blank
"" // blank
Образец, который вы хотите, выглядит примерно так в многострочном режиме:
^\s*$
Пояснение:
^ - начало привязки строки.$ - конец привязки строки.\s - класс символов пробелов.* имеет нулевое или большее количество повторений.В многострочном режиме ^ и $ также соответствуют началу и концу строки.
Вы также можете проверить, является ли заданная строка line "пустой" (т.е. содержит только пробелы) trim() -инг, а затем проверяет, не получается ли полученная строка isEmpty().
В Java это будет примерно так:
if (line.trim().isEmpty()) {
    // line is "blank"
}
Решение regex также может быть упрощено без привязок (из-за того, как matches определено в Java) следующим образом:
if (line.matches("\\s*")) {
    // line is "blank"
}
String String.trim()
boolean String.isEmpty()
true, если и только если length() - 0.boolean String.matches(String regex)
На самом деле в многострочном режиме более правильный ответ таков:
/((\r\n|\n|\r)$)|(^(\r\n|\n|\r))|^\s*$/gm
Принятый ответ: ^\s*$ не соответствует сценарию, когда последняя строка пуста (в многострочном режиме).
Попробуйте следующее:
^\s*$
		Наиболее переносимым регулярным выражением будет ^[ \t\n]*$ для соответствия пустой строке (обратите внимание, что вам нужно будет заменить \t и \n на вкладку и новую строку соответственно) и [^ \n\t], чтобы соответствовать строке без пробелов.
Здесь Blank означает, что вы имеете в виду. 
Строка содержит полные пробелы или строка не содержит ничего. 
Если вы хотите совместить строку, которая не содержит ничего, используйте "/^ $/". 
Полный кредит  bchr02 для ответа . Тем не менее, мне пришлось немного изменить его, чтобы поймать сценарий для строк с */ (конец комментария), за которым следует пустая строка. Регулярное выражение соответствовало непустой строке с */.
Новое: (^(\r\n|\n|\r)$)|(^(\r\n|\n|\r))|^\s*$/gm
Все, что я сделал, это добавить ^ в качестве второго символа, чтобы обозначить начало строки.
Ну... Я потрудился (используя notepadd ++), и это решение, которое я нашел
\ п \s
\n для конца строки (где вы начинаете сопоставлять) - карет не помог бы в моем случае, так как начало строки - это строка \ s принимает любое пространство до следующей строки
надеюсь, что это поможет