Выражение GREP

Мне нужна помощь с выражением GREP, чтобы найти и заменить переменную группу слов. Предложение всегда начинается с одних и тех же двух слов (выделено жирным курсивом) и всегда заканчивается (двоеточием), но бит в середине меняется. Поэтому мне нужно искать:

Bold italicized тогда любая строка слов тогда :

то есть. начинается с "Жирным курсивом", затем любая группа слов заканчивается ":"

Например:

Bold italicized May 6, 2010:

Затем я применю некоторое форматирование к этому тексту. Спасибо.

2 ответа

Решение

Это должно сработать, хотя это довольно просто, поэтому кажется, что вы должны были придумать это сами, даже будучи новичком.

^Bold italicized.+?:

Если вы хотите узнать немного больше о том, как использовать GREP, я бы порекомендовал справку InDesign GREP.

Правильный инструмент делает это не grep, а sed:

ПРИМЕР в оболочке:

$ cat file.txt 
Bold italicized foo bar:
Bold italicized qux:
$ sed 's/^Bold italicized\(.*\):/do something with "\1"/g' file.txt
do something with " foo bar"
do something with " qux"
$ 

НОТА

  • Вы найдете тонны примеров и документации здесь или здесь
  • Основа sed команда замещения s/regex/substitution/modifier
  • что использую регулярное выражение, я использую ^ это означает начало строки, и \( \) сделать захват
Другие вопросы по тегам