InDesign: использование GREP для оформления URL-адресов, адресов электронной почты, номеров телефонов, социальных сетей и хэштегов.

Я новичок в GREP и его использовании в InDesign, и хотя я хотел бы когда-нибудь понять его более полно, в данный момент я изо всех сил пытаюсь найти некоторые ресурсы, которые могут объяснить мне только основы в доступной форме. понятный способ.

Итак, вопрос № 1: Если вы знаете о таких ресурсах, было бы здорово, если бы вы могли указать мне на некоторые из них. Имейте в виду, что я дизайнер, а не кодер, поэтому, если ресурс пронизан жаргоном кодирования, таким как «оболочка», «экранирование» и «переменные среды в регулярном выражении», я понятия не имею, что означают эти слова. Обычно я довольно хорошо понимаю принципы кодирования, но не знаю словарного запаса.

Вопрос № 2: Кто-нибудь может сказать мне, как написать выражение GREP, которое будет нацелено на любую группу символов, содержащую точку с буквами и/или цифрами по обе стороны от нее, но без пробела? Я ищу целевые URL-адреса, адреса электронной почты и номера телефонов, и наш собственный стиль записывает их следующим образом:

url.com

адрес электронной почты@email.com

000.000.0000

Что я хочу сделать, так это сделать так, чтобы разрывы строк никогда не происходили в середине этих «слов». Я знаю, что это включает в себя создание стиля символа с настройкой «Без разрыва», а затем использование стиля абзаца для применения стиля символа с помощью GREP, но я не знаю, как записать эти параметры в GREP. Ориентация на что-либо между пробелами, у которых есть точка, должна работать, но я не знаю, как это написать.

Вопрос № 3: Можем ли мы написать второе выражение, ориентированное на социальные дескрипторы и хэштеги? Таким образом, это может быть любое слово, начинающееся с @ или #, которое может содержать или не содержать цифры и/или символ подчеркивания. Если за ним следует какой-либо знак препинания перед следующим пробелом , кроме подчеркивания , я бы хотел, чтобы знак препинания не включался в выражение. (Поэтому , . ! ? — - не следует включать в выражение, а _ следует.) Это, вероятно, должно отличать социальные дескрипторы от адресов электронной почты, указывая, что социальный дескриптор всегда будет иметь пробел перед @ (тогда как адрес электронной почты не будет ), но я бы предпочел, чтобы предыдущий пробел не был частью выделения.

Бонус!: Мне бы очень хотелось, очень понравилось бы, если бы эти ответы могли сопровождаться объяснениями того, почему они работают и что они делают. Я по-прежнему буду любить ответы, которые решают мою проблему и ничему меня не учат в процессе, но это только 1/3 моей доступной любви. Научите человека ловить рыбу и все такое. :)

Ответы (3)

Лучший ресурс, который я знаю, чтобы начать понимать, как использовать GREP в InDesign, — это веб-сайт InDesign Secrets. У них есть целый раздел ресурсов об использовании GREP, и я полагаю, что там есть ссылки на статьи, в которых конкретно рассматривается написание GREP для всех трех ситуаций, о которых вы говорите в своем вопросе 2. И я знаю, что у них есть по крайней мере одна статья о настройке определенных типов текста как "без перерыва".

Вы можете найти эту информацию здесь: https://indesignsecrets.com/resources/grep

Существует довольно много объяснений того, почему определенный GREP работает так, как он работает в различных статьях, перечисленных здесь, но я также борюсь с этой проблемой. Еще один отличный ресурс, который мне помогает, — http://regexr.com/ . Это приложение специально разработано, чтобы помочь вам научиться использовать GREP — вы можете писать коды GREP и получать немедленную обратную связь о том, что они делают, а также есть вкладка «Объяснение», которая на самом деле говорит вам, что на самом деле означает каждый раздел вашего выражения. означает.

Я все еще борюсь с использованием GREP, но эти два ресурса очень помогли мне улучшить свои навыки.

GREP Find/Change и GREP Styles изменят вашу жизнь. :) Я был в той же лодке, что и вы, около 2 лет назад. magerber предоставил те же ресурсы, что и я. Я пошел дальше и написал выражения, которые вы ищете.

Я нахожу URL-адреса немного сложными, потому что они менее предсказуемы. Мне часто приходится адаптировать свое выражение к документу, над которым я работаю. Если ваши URL-адреса действительно так просты, как вы говорите, это должно помочь вам начать работу, но, вероятно, потребуется некоторая тонкая настройка.

url.com

(\w+.[\l\u]{3})

Та же история с электронной почтой.

адрес электронной почты@email.com

\w+@(\w+.[\l\u]{2,3})

000.000.0000

(\d{3}.\d{3}.\d{4})

Если у вас есть адрес электронной почты, как у нас в Великобритании, он будет выглядеть так:

адрес электронной почты@email.co.uk

И выражение GREP выше не подберет .uk

Поэтому я использую:

\w+@(\w+.[\l\u]{2,3}.[\l\u]{2,3})

Кажется, это работает как с .co.uk (и, например, .ac.uk), так и с .com.