Вы хотите сравнить с этим регулярным выражением:
^[\w\s]*$
Конструкция [...]
называется "классом символов". ^
и $
- начало и конец якоря строки. Метасимвол *
означает «ноль или более повторений». Если вам нужен хотя бы один символ (т. Е. Нет пустой строки), используйте +
.
Смотри также
Испытательный жгут
Вот один на Java:
String[] tests = {
"",
" ",
"blah blah blah",
"123_456",
"#@*&#!",
};
for (String test : tests) {
System.out.println("[" + test + "] " + test.matches("^[\\w\\s]*$"));
}
Это печатает:
[] true
[ ] true
[blah blah blah] true
[123_456] true
[#@*&#!] false
Обратите внимание, что обратная косая черта в регулярном выражении (на вид) удвоена: это потому, что \
является escape-символом в строковых литералах Java. Это удвоение применимо и к нескольким другим языкам.
Кроме того, в Java String.matches
выполняется для всей строки, поэтому привязки ^
и $
в этом случае не являются строго необходимыми. Задавая вопрос, связанный с регулярными выражениями, важно отметить, какой язык вы используете, из-за незначительных различий в различных вариантах.
Смотри также