![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| serious |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: 1 Всего: 1 |
Условие такого вида работает
, а вот такого
не компилируется (Caused by: java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 18). Объясните, пожалуйста, как учитывать множественные пробелы в условиях? Почему для символьного класса \d можно указать квантификаторы в условии, а для \s нет? Это сообщение отредактировал(а) serious - 6.12.2007, 11:50 -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
||||
|
|||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: 1 Всего: 1 |
Неужели те, кто работал с регулярными выражениями, не встречались с такой проблемой?
-------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: нет Всего: 124 |
Укажите "obvious maximum length" для квантификатора при Look-behind
Для \d она указана: 2 Для \s она не указана: + (что == {1,бесконечность}) Попробуйте вместо \s+ написать \s{1,10} (измените 10 в зависимости от специфики задачи) P.S. Хотя вот тут используется +
|
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: 1 Всего: 1 |
Не очень мне нравится такое решение... Неужели не существует способа указать в данном случае произвольное количество пробелов? Это сообщение отредактировал(а) serious - 6.12.2007, 16:36 -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: нет Всего: 124 |
Может быть, возможно как-то по-другому составить выражение, без такой штуки в Look-behind?
Ведь Look-behind не всегда же было (да и сейчас не везде есть), как-то обходились Для чего выражение нужно-то? P.S. Джеффри Фридл. "Регулярные выражения" читали? Это сообщение отредактировал(а) SergeCpp - 6.12.2007, 16:38 |
|||
|
||||
| serious |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 316 Регистрация: 15.2.2003 Где: Пенза Репутация: 1 Всего: 1 |
Чтобы проверить, что перед искомым текстом не идет последовательность \d{2}\s\d{2}, т.е. серия паспорта.
Хлтя, я понял что \s+ мне в данном случае не требуется SergeCpp, а я тут уже жуткие вещи начал изобретать -------------------- Я знаю то, что ничего не знаю, а некоторые не знают и этого. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |