[ID CS4-CS6] Строка поиска для GREP

Tiburtsy

Топикстартер
15 лет на форуме
Сообщения
60
Реакции
14
Не могу составить запрос для поиска разрыва строки \n перед которым НЕТ знака Зодиака
[^(овен|телец|близнецы|рак|лев|дева|весы|скорпион|стрелец|козерог|водолей|рыбы)]\n
не находит некоторые разрывы
(?<![овен|телец|близнецы|рак|лев|дева|весы|скорпион|стрелец|козерог|водолей|рыбы])\n
Этот вариант тоже глючит.
А ещё между Знаком и разрывом может оказаться пробел и не один.
 
Код:
[^(овен|телец|близнецы|рак|лев|дева|весы|скорпион|стрелец|козерог|водолей|рыбы|\s)]\s*\n
 
  • Спасибо
Реакции: Tiburtsy
Замена разрыва строки, перед которым нет знака зодиака и, возможно, пробелов, на, например, параграф:

Код:
((?:(?!(?:(?:овен|телец) *)?\n).|(?:(?:овен|телец) *)\n)*)\K\n

Can't do (?:negative)? variable length look-behind. Character classes (i.e. square brackets) просто ни при чем.

re.png
 
Замена разрыва строки, перед которым нет знака зодиака и, возможно, пробелов, на, например, параграф:

Код:
((?:(?!(?:(?:овен|телец) *)?\n).|(?:(?:овен|телец) *)\n)*)\K\n

Can't do (?:negative)? variable length look-behind. Character classes (i.e. square brackets) просто ни при чем.

Посмотреть вложение 114464
А попробуйте поставить в конец букву "о" или "е"- сработает?
 
Тьфу, понял, о чем речь. Нужно найти именно перевод строки.
Если избегать луков, надо, конечно, городить городушки.
 
Вроде бы разобрался, получился вот такой код:
(?<!овен)(?<!телец)(?<!близнецы)(?<!рак)(?<!лев)(?<!дева)(?<!весы)(?<!скорпион)(?<!стрелец)(?<!козерог)(?<!водолей)(?<!рыбы)(?<!\x{20})\x{20}*\n
По моему вполне логично и читаемо. ID CS5.5 не обрушился, посмотрим, как этот код поведёт себя в реальном скрипте. Как вам такое решение? x{20} - только пробел, здесь не критично, можно и \s.
P.S. По ходу решения вопроса наткнулся на интересный GREP редактор от Peter Kahrel. Сразу же подсвечивает всё найденное в real-time. Ускоряет отладку запроса в разы. Рекомендую.
 
Тьфу, понял, о чем речь. Нужно найти именно перевод строки.
Если избегать луков, надо, конечно, городить городушки.
Как только мы заключили слово в [] оно разбивается на символы и поиск происходит посимвольно, например [^овен|лев]\n найдёт все переводы строк с символами, за исключением овенл. Вроде как моё решение выше не совсем огород да и выглядит безобидно? Спасибо за помощь!
 
Вроде как моё решение выше не совсем огород да и выглядит безобидно
Индизайн валится порой на таких безобидных грепах, что начинаешь всюду перестраховываться.