GREP-код для поиска InDesign
У меня есть команда GREP:
(?<=say).+.".+?"
Он находит все строки, которые говорят (но не включают его), заключенные в кавычки слова и символы между ними.
Хотелось бы внести изменения только в слова в кавычках (не символы между ними), но
(?<=say)(?<=.+.)".+?"
это не работает
Вот пример текста, который мне нужно изменить:
Я говорил с капитаном, говоря: "Сэр, я хотел бы домой".
... сказать: "Это путь".
Который должен быть изменен на это командой GREP:
Я говорил с капитаном, говоря: "Сэр, я хотел бы домой".
... сказать: "Это путь".
Может ли кто-нибудь помочь мне?
1 ответ
Я не думаю, что вы можете иметь заднюю часть переменной длины; это невозможно в большинстве разновидностей REGEX, и я готов поспорить, что так и есть для ID. Вы могли бы сделать два Greps, один, чтобы применить стиль ко всему после 'say', а другой, чтобы удалить его из текста между say и кавычкой (это, конечно, не предполагало бы никакой другой визуализации между ними). Или вы можете использовать свое первоначальное регулярное выражение для вставки некоторых символов, которые вы затем сможете найти и использовать в качестве основы для нанесения курсива. Или вы могли бы написать это.
На этой странице говорится об ограничениях внешнего вида: http://www.regular-expressions.info/lookaround.html
Пример использования положительного lookbehind и lookahead для поиска содержимого между "say" и кавычкой:
(?<=say).+?(?=")