Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Помогите с регэкспами

 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


Vlad_K
Новенький участник форума

Новенький участник форума

Зарегистрирован: 08.06.2008
Сообщения: 8

СообщениеДобавлено: Чт Ноя 06, 2008 20:46    Заголовок сообщения: Помогите с регэкспами Ответить с цитатой

Подскажите, пожалста, как искать в тексте символы, например: - , но не показывать слова: из-за, что-то, как-то, и другие, в которых этот символ встречается, и которые заранее определенны в поисковой строке.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Чт Ноя 06, 2008 21:41    Заголовок сообщения: Ответить с цитатой

Текст он plain text или fb2? Редактируешь в каком редакторе? У FBE длина поля ввода для строки поиска ограничивает размер регэкспа, поэтому особо много слов не позадаешь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Vlad_K
Новенький участник форума

Новенький участник форума

Зарегистрирован: 08.06.2008
Сообщения: 8

СообщениеДобавлено: Чт Ноя 06, 2008 22:00    Заголовок сообщения: Ответить с цитатой

О, правда, забыл сказать... В FBE редактирую.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Чт Ноя 06, 2008 22:17    Заголовок сообщения: Ответить с цитатой

У регэкспов худо с "отрицательным" поиском. Можно так попробовать, сурогат, но решение в принципе рабочее, самые аннойные варианты исклчит:
(?<!из|что|то|как)-(?!за|что|то)

В FBE есть функция "Слова", в которой зашита более продвинутая логика.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Чт Ноя 06, 2008 22:31    Заголовок сообщения: Ответить с цитатой

GribUser, там нет look-behind'а, ошибку выдает. И \b (граница слова) не работает, это в качестве пояснения, к тому, что ниже пишу.
VladK, регэксп для слова «как-то» такой:
(?!([^а-яa-z]|^)как-то)([^а-яa-z]|^)[а-яa-z]*?-
Для двух слов по идее будет так:
(?!([^а-яa-z]|^)что-то)(?!([^а-яa-z]|^)как-то)([^а-яa-z]|^)[а-яa-z]*?-
Но на практике это не поместится в строку ввода.
Захватывать такое выражение будет больше, чем один дефис, но это, я так понимаю, не страшно, ведь при автоматической замене можно с помощью backreferences подставить лишнее найденное обратно, а при ручной обработке можно отредактировать и вовсе как угодно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Vlad_K
Новенький участник форума

Новенький участник форума

Зарегистрирован: 08.06.2008
Сообщения: 8

СообщениеДобавлено: Чт Ноя 06, 2008 22:33    Заголовок сообщения: Ответить с цитатой

У меня ошибку выдает FBE, когда эту строку задаю: (?<!из|что|то|как)-(?!за|что|то)

Немного я опоздал со своим сообщением.
Smile Так, теперь понятно уже более-менее становится. Спасибо!


Последний раз редактировалось: Vlad_K (Чт Ноя 06, 2008 22:36), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Чт Ноя 06, 2008 22:36    Заголовок сообщения: Ответить с цитатой

Sclex писал(а):
GribUser, там нет look-behind'
Его нет в исходнике, в обычном режиме должен быть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Sclex
Бывалый участник форума

Бывалый участник форума

Зарегистрирован: 24.09.2005
Сообщения: 416
Откуда: Минск

СообщениеДобавлено: Чт Ноя 06, 2008 22:48    Заголовок сообщения: Ответить с цитатой

У меня в режиме «Дизайн» не работает look-behind, не знаю как у других.

Добавлено спустя 3 минуты:

Для двух слов можно короче записать:
(?!([^а-яa-z]|^)(как-то|что-то))([^а-яa-z]|^)[а-яa-z]*?-
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Чт Ноя 06, 2008 23:08    Заголовок сообщения: Ответить с цитатой

Sclex писал(а):
У меня в режиме «Дизайн» не работает look-behind, не знаю как у других.
Ну, может и нет. Тогда в морг.

Но в данном случае фича "слова" - то, что доктор прописал. Там интерфейс сделан неочевидно был, но оно типо работать должно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group