Регулярное выражение для не пустых - PullRequest
13 голосов
/ 15 декабря 2010

Мне нужно регулярное выражение Java, которое проверяет, что данная строка не пустая. Однако выражение должно игнорироваться, если пользователь случайно задал пробел в начале ввода, но позже разрешить пробелы. Также в выражении должны быть разрешены скандинавские буквы Ä, Ö и т. Д., Как строчные, так и прописные.

Я гуглил, но, кажется, ничего не подходит для моих нужд. Пожалуйста, помогите.

Ответы [ 7 ]

20 голосов
/ 15 декабря 2010

Вы также можете использовать положительное прогнозное утверждение , чтобы утверждать, что строка имеет хотя бы один непробельный символ:

^(?=\s*\S).*$

В Java вам нужно

"^(?=\\s*\\S).*$"
11 голосов
/ 08 ноября 2012

Для непустой строки используйте .+.

4 голосов
/ 15 декабря 2010

Это должно работать:

/^\s*\S.*$/

но регулярное выражение может быть не лучшим решением в зависимости от того, что вы еще имеете в виду.

3 голосов
/ 09 февраля 2012

Для тестирования на непустых входах я использую:

private static final String REGEX_NON_EMPTY = ".*\\S.*"; 
// any number of whatever character followed by 1 or more non-whitespace chars, followed by any number of whatever character 
3 голосов
/ 15 декабря 2010
^\s*\S

(пропустите все пробелы в начале, затем сопоставьте то, что не является пробелом)

2 голосов
/ 15 декабря 2010

Вам не нужно регулярное выражение для этого. Это работает, понятнее и быстрее:

if(myString.trim().length() > 0)
0 голосов
/ 15 декабря 2010

Для этого быстрее создать метод, чем использовать регулярное выражение

/**
 * This method takes String as parameter
 * and checks if it is null or empty.
 * 
 * @param value - The value that will get checked. 
 * Returns the value of "".equals(value). 
 * This is also trimmed, so that "     " returns true
 * @return - true if object is null or empty
 */
public static boolean empty(String value) {
    if(value == null)
        return true;

    return "".equals(value.trim());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...