Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > RegEx есть хотя бы одна буква или цифра


Автор: Tiarwe 6.7.2013, 00:25
Помогите составить простое регулярное выражение. Нужно реализовать проверку, есть ли в строке хотя бы 1 буква или цифра. Язык может быть любой. Пишу так:
"[[:word:]]{1,}"

В результате, если в строке будет пробел или перевод каретки на следующую строку - некорректный результат. Т.е.:
1) [enter] - false
2) abcd - true
3) abcd[enter] - false
4) [enter] a b c d - false

Мне нужно получить:
1) [enter] - false
2) abcd - true
3) abcd[enter] - true
4) [enter] a b c d - true

Автор: Tiarwe 6.7.2013, 08:33
Вроде разобрался. Если кому понадобится: "^[[:word:]]{1,}[[:word:][:punct:][:blank:]]{0,}$"
Строка должна начинаться с буквы или цифры, далее могут быть пробелы и знаки пунктуации.

Автор: Pawl 6.7.2013, 08:53
Если на любом языке, можно так:
Код

import java.util.regex.*;

public class Reg {
    public static void main(String[] args) {
        String s = "\\n5 r\\n";
        Pattern p = Pattern.compile("(\\w+)");
        Matcher m = p.matcher(s);
        System.out.println(m.find());
    }
}

и строка здесь может не начинаться с буквы или цифры

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)