![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| admin82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 22.8.2006 Репутация: нет Всего: 1 |
Всем здравствуйте.
Надо проверить, чтобы строка не содержала в себе другой подстроки. [^abc] Any character except a, b, or c (negation) -- не подходит ведь, там abc -- это перечисление символов. Надо именно шаблон, который потом сможет съесть
т.к. это строка конфига, которую должна потом обработать универсальная функция Заранее спасибо за советы |
|||
|
||||
| admin82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 22.8.2006 Репутация: нет Всего: 1 |
Облегчим задание -- надо просто чтобы строка не была равна другой заданной строке
Напоминаю во избежание всяких там equals -- это должен быть regex Это сообщение отредактировал(а) admin82 - 4.3.2008, 16:04 |
|||
|
||||
| Eric_Cartman |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 2.3.2008 Репутация: 1 Всего: 1 |
если задана подстрока "substring", разве решение не будет выглядеть следующим образом:
Это сообщение отредактировал(а) Eric_Cartman - 4.3.2008, 22:50 |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
admin82, regexp не даёт такой возможности. Единственный костыль - это lookahead/lookbehind. Например, можно искать строку, содержащую некое ключевое слово, но не содержащее до/после некоторой последовательности. Например:
(?<!(abc))keyword - вернёт true, если слева от keyword нет abc В java 1.5, правда, был баг, который позволял реализовать нужный вам функционал, но в 1.6 его пофиксили Это сообщение отредактировал(а) w1nd - 5.3.2008, 01:47 -------------------- ![]() ![]() |
|||
|
||||
| nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
w1nd, можно пример бага из полторушки? Для общего развития.
-------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
| Kangaroo |
|
|||
|
AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Ага, и мне интересно. -------------------- Lost.... |
|||
|
||||
| w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
Там вот такой штук - [^\Qabc\E] - отработал бы именно так, как хочет admin82.
-------------------- ![]() ![]() |
|||
|
||||
| admin82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 22.8.2006 Репутация: нет Всего: 1 |
Я знал точно, что или строка начинается с запретной подстроки, или все в порядке. Поэтому помогло следующее:
(?!Подстрока).* Всем спасибо за внимание |
|||
|
||||
| niasilil |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 4.6.2007 Где: USA Репутация: 8 Всего: 9 |
а почему обязательно regex а не метод из String:
"test Me please".startsWith("test") Откуда такое ограничение? -------------------- SCJP 5.0, SCJD |
|||
|
||||
| admin82 |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 22.8.2006 Репутация: нет Всего: 1 |
Оттуда, что этот регекс является частью конфиг. строки, которая обрабатывается универсальной, уже написанной фунцкией
|
|||
|
||||
![]()
|
| Правила форума "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. |