powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения
16 сообщений из 16, страница 1 из 1
Регулярные выражения
    #38766772
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,
Не могли бы подсказать где ошибка в регулярном выражении?

Вот текст:
Код: java
1.
ТЭД ЭД-118 А №1 Зав. №24630-Статор  81620-Якорь


А вот функция:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
	public static boolean IsolationTED(String income) {
		boolean isAB = false;
		
		Pattern _pattern = Pattern.compile("^ТЭД ЭД-\\d+( \\w)? №\\d Зав. №\\d+-Статор \\d+-Якорь$");

		Matcher _matcher = _pattern.matcher(income);
		isAB = _matcher.matches();
		return isAB;
	}


Функция возвращает false. Не могу найти ошибку.
Спасибо.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38766838
elitegroup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LiQuid ,
У Вас в строке между "Статор" и "81620" 2 пробела, а по регеспу один.
авторТЭД ЭД-118 А №1 Зав. №24630-Статор 81620-Якорь
...
Рейтинг: 0 / 0
Регулярные выражения
    #38766928
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалил.
Все равно возвращает false.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767125
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuid,у тебя еще в строке бука А после первого слова, твоё вождение его не имеет.

\w это уже и так whitespace , зачем в группу еще и пробел добавлять?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767126
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
извиняюсь после второго слова буква А.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767128
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК, я убираю группирование и пробел:

^ТЭД ЭД-\\d+ \\w №\\d Зав. №\\d+-Статор \\d+-Якорь$

Это тоже не подходит.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767129
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо \w указал явно А,

^ТЭД ЭД-\\d+ А №\\d Зав. №\\d+-Статор \\d+-Якорь$

Теперь принимает, только вопрос почему \w не хочет принимать? Ведь это равно к тому что принимай любую цифру или букву?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767153
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LiQuid,

Документация-то вам на что?

Predefined Character Classes\w A word character: [a-zA-Z_0-9]
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767458
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что русские буквы не будет принимать? [а-я][А-Я] ???
...
Рейтинг: 0 / 0
Регулярные выражения
    #38767923
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LiQuid,
А вы видите их в описании класса w?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38768610
LiQuid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, их в описании нет, как нибудь можно выйти из этой ситуации?
Можно сделать так чтобы русские буквы тоже понимал?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38769487
elitegroup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LiQuid ,
может как-то так
Код: java
1.
[A-Za-zА-Яа-я]{1,1}
...
Рейтинг: 0 / 0
Регулярные выражения
    #38769983
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiQuidМожно сделать так чтобы русские буквы тоже понимал?
Включить поддержку Unicode ?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38770087
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Статор 81620" - два пробела. В выражении только один.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38770098
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz"Статор 81620" - два пробела. В выражении только один.
Вот же слоупок.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
    public static void main(String[] args) {
        String text = "ТЭД ЭД-118 А №1 Зав. №24630-Статор  81620-Якорь";
        Pattern pattern = Pattern.compile("ТЭД ЭД-\\d+( [\\p{L}\\p{Lu}])? №\\d+ Зав. №\\d+-Статор\\s+\\d+-Якорь");

        Matcher matcher = pattern.matcher(text);
        if(matcher.matches()) {
            System.out.println(matcher.group(1));
        }
    }


\p{Lu} - работает. Странно \p{Alpha} тоже должен. Но нет.
...
Рейтинг: 0 / 0
Регулярные выражения
    #38770102
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz\p{Lu} - работает. Странно \p{Alpha} тоже должен. Но нет.
\\p{L} тоже
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]