[ID CC-CC2021] Неправильное поведение ГРЕПа?

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
Надо курсивить авторов (как всегда).
На картинке 1 в запросе (второе условие сверху) нет косой черты (в квадратных скобках) и первый автор после двойного слеша не курсивится.
На картинке 2 добавлена косая черта. Первый автор после слеша закурсивился, зато второй раскурсивился. Что не так?
 

Вложения

  • clp1.jpg
    clp1.jpg
    100 КБ · Просм.: 979
  • clp2.jpg
    clp2.jpg
    112.1 КБ · Просм.: 835
Последнее редактирование:

LeonidB

Их бин
10 лет на форуме
Сообщения
2 470
Реакции
1 530
Вы бы тексты, что ли, выкладывали. И греп-запросы тоже, чтобы всё это не перенабирать заново по скринам. :)
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218
вот так попробуйте

Код:
(?<=[,|;|;|/])\s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?(?=(,?))

а срабатывание правильное)
греп не проходит всякий раз с самого начала.
в вашем запросе запятая попадает в первое вхождение.
греп продолжает далее.и не может найти уже (?<=[,|;|;|/])
 
Последнее редактирование:
  • Спасибо
Реакции: hulk1776 и LeonidB

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
вот так попробуйте

Код:
(?<=[,|;|;|/])\s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?(?=(,?))

а срабатывание правильное)
греп не проходит всякий раз с самого начала.
в вашем запросе запятая попадает в первое вхождение.
греп продолжает далее.и не может найти уже (?<=[,|;|;|/])

to LeonidB (ok)):
4. Гоббс Т. Левиафан // Гоббс Т., Канетти Э. Левиафан.
(?<=[,|;|:])\s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?,?

Когда убрал последнюю запятую с вопросом (видимо, она лишняя, так как в начале запроса запятая уже присутствует), оно и сработало.
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218
ну или так. надо, чтобы та запятая "не захватывалась"
 

LeonidB

Их бин
10 лет на форуме
Сообщения
2 470
Реакции
1 530
Только вот тут: (?<=[,|;|;|/]) надо вместо второй точки с запятой поставить двоеточие, насколько я понимаю.
 

andrejK

R.I.P.
Сообщения
10 300
Реакции
5 218
))) набирал жеж. обшипси
 

vinnik63

Участник
Сообщения
322
Реакции
99
4. Гоббс Т. Левиафан // Гоббс Т., Канетти Э. Левиафан.
(?<=[,|;|:])\s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?,?

Когда убрал последнюю запятую с вопросом (видимо, она лишняя, так как в начале запроса запятая уже присутствует), оно и сработало.
а у меня ваш запрос в этой строке находит только Канетти Э. :)
а если убираю всю первую скобку и оставляю только \s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?,? то находит всех авторов... :)
 

hulk1776

Топикстартер
15 лет на форуме
Сообщения
735
Реакции
21
а у меня ваш запрос в этой строке находит только Канетти Э. :)
а если убираю всю первую скобку и оставляю только \s\u(\l|')+\u?\l+\s\u\.(\s\u\.)?,? то находит всех авторов... :)
Здесь не поставлен слеш в конструкции
[,|;|:]. Так было до начала тестирования запроса.
Надо так
[,|;|:|/].