[ID CC-CC2021] Выделить скобки в заголовке (ну не получается...)

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Здравствуйте.
Здоровья вам. Здоровья дорогим вам людям.


Стыдно.
Спрашивать стыдно.
Вроде вопрос, почти, для меня понятен.
Но не получается - мозг плавится.

В заголовке нужно выделить скобки и их содержание (для применения стилей).
Если "найти-заменить" (на $3) - то скобки норм выделяются =)) и... часть заголовка теряется по замене...
Пытал, мучил - или не работают тесты, или идет поиск скобок по всему тексту (отрабатывает исключение)
Помогите пожалуйста.


Пример заголовка
( #6 - тех маркер начала заголовка, для других операций)
#6 SOME TXT (16 июня 2010)


Стыдно. Вопрос вроде избит
"найти определенный текст, в определенной строке/группе"
но не выходит ни самому, ни самому по поиску =(


Спасибо 0=/


Код:
#6 SOME TXT (16 июня 2010) ^(\#6\h?)(.+?$)     - вся строка, отрезание маркера
#6 SOME TXT (16 июня 2010) ^(\#6\h?)(.+?)(\([^)]+\))     - выделение групп $3


тренировался "на кошечках":
(333.+?)\([^)]+\)       - все до закрывающей скобки
(?<=333.+?)\([^)]+\)    - (х)
(?=333.+?)\([^)]+\)     - (х)
(?<!333.+?)\([^)]+\)    - (х)
(?!333.+?)\([^)]+\)     - находит скобки везде
 

densen

15 лет на форуме
Сообщения
751
Реакции
639
В заголовке нужно выделить скобки и их содержание (для применения стилей).
К заголовку стиль абзаца применен? Должен быть, иначе зачем все эти тонкости, если не использованы толстости.
Необходимо искать содержание в скобках в пределах нужного стиля: \(.+\) и применить символьный стиль к найденному.
Если я не понял, то советую отбросить эмоции/сантименты/самобичевание и объяснить задачу подробно с самого начала. Любая подробность, нечаянно скрытая, может перевернуть картину до неузнаваемости.

а вот от этого:
Если "найти-заменить" (на $3) - то скобки норм выделяются
мозги начинают плавиться и у читающих тоже.
 
Последнее редактирование:
  • Спасибо
Реакции: blacksolg и Gad

Любимцев

15 лет на форуме
Сообщения
4 199
Реакции
2 055
  • Спасибо
Реакции: blacksolg

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
К заголовку стиль абзаца применен? Должен быть, иначе зачем все эти тонкости, если не использованы толстости.
Необходимо искать содержание в скобках в пределах нужного стиля: \(.+\) и применить символьный стиль к найденному.
Если я не понял, то советую отбросить эмоции/сантименты/самобичевание и объяснить задачу подробно с самого начала. Любая подробность, нечаянно скрытая, может перевернуть картину до неузнаваемости.
Благодарю за отклик!

Товарищ DenSen окунул меня в ведро с... холодной водой и вскипающий мозг всеж под остыл!

Вопрос снимается!




Подробности (если интересны чертоги спёкшегося разума)
1. стиль абзаца для заголовка не назначен
2. планируется назначить позже
3. да - тогда, в свойствах стиля, легко поставить выделение того что в скобках (стиль абзаца-grep)
4. так и планировалось, но что-то меня заставило подстраховаться
5. и ловить-искать-выделять то что в скобках, сами скобки, в заголовках заранее (вдруг придется модифицировать)
6. вида #6 ****** (искомое в скобках)
- где #6 - маркер начала строки-заголовка, в которой и нужно искать скобки
7. вроде простая задача, а найти не получается =(
8. ведром по голове.. с холодной головой =) привело в чувство
9. назначать стиль абзаца заголовкам - все равно буду - значит там и выделить скобки смогу
0. а если необходимо будет перенести скобки на отдельную строку, заменить скобки и тд - пример рабочий есть под спойлером.


PS
хотя конечно интересно, все же научится-понять
как выловить? - вдруг пригодиться.

если не читали пункты, о чём я:
#6 ****** (искомое в скобках)
- где #6 - маркер начала строки-заголовка, в которой и нужно искать скобки
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Логично, если область поиска (по стилю заголовка, или чем он там от основного текста отличается)
не задана
Благодарю.


Да логично, то и сам понимал, о чем в спойлере.
Но что делать ;]= - пытал уже разные варианты.



выше попытался изложить в ответе, конкретнее:
#6 ****** (искомое в скобках)

то есть получаем область поиска:
- 1 строка
- сроки начинаются с #6 (#6 - маркер начала строки-заголовка, в которой и нужно искать скобки)
- в ней найти скобки и содержащиеся в них.
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
если я правильно понял, что вам нужно, то:
^#6.+\K\(.+\)
Гениально!
Вот оно просветлённая/профессиональная голова!


Видимо формулировка-запрос мой был всё же не столь понятен.
Но Вы @afalbert все правильно поняли.

Спасибо простой и понятный пример.
Доработал под себя. Буду стараться использовать в дальнейшем


Не по теме:
Правда по поводу \K - вначале не понял, не нашел.
Но позже, спасибо форуму и хорошим людям:
[ID CC-CC2019] - Найти второе слово в абзаце оканчивающееся на "а"

Цитата:
\K - Всё, что находится до него будет использоваться для поиска совпадения, но не будет учитываться в найденном. Грубо говоря, это другая версия просмотра вперёд.

 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
^#6.+\K\(.+\)
Правда, случайно, заметил одну особенность:

Если искомые заголовки стоят подряд
то поиск производиться только через один
(те, 1я строка, 3я строка...)

Далее интересней =)
Если между заголовками
1 пустая строка - поиск через один заголовок
1 строка с текстом - поиск через один заголовок
если
по 2 строки текста // или 1 строка пустая
- поиск работает по всем заголовкам

Код:
----------
#6 fhdjgfghd (3423234) +
#6 fhdjgfghd (3423234)
#6 fhdjgfghd (3423234) +
#6 fhdjgfghd (3423234)
#6 fhdjgfghd (3423234) +
#6 fhdjgfghd (3423234)

----------
#6 fhdjgfghd (3423234) +

#6 fhdjgfghd (3423234) +

#6 fhdjgfghd (3423234) +


----------
#6 fhdjgfghd (3423234) +
#6 fhdjgfghd (3423234) -
text
#6 fhdjgfghd (3423234) +
text
#6 fhdjgfghd (3423234) -
text
#6 fhdjgfghd (3423234) +
text
#6 fhdjgfghd (3423234) -
text
#6 fhdjgfghd (3423234) +

----------
#6 fhdjgfghd (3423234) +
#6 fhdjgfghd (3423234) -
text
text
#6 fhdjgfghd (3423234) +
text
text
#6 fhdjgfghd (3423234) -
text
text
#6 fhdjgfghd (3423234) +
text
text
#6 fhdjgfghd (3423234) -
text
text
#6 fhdjgfghd (3423234) +


----------
#6 fhdjgfghd (3423234) +
text
text

#6 fhdjgfghd (3423234) +
text
text

#6 fhdjgfghd (3423234) +
text
text

#6 fhdjgfghd (3423234) +
text
text

#6 fhdjgfghd (3423234) +
text
text


Не по теме:
Может кому пригодится заметка
 
Последнее редактирование:

densen

15 лет на форуме
Сообщения
751
Реакции
639
^#6.+\K\(.+\)
Правда, случайно, заметил одну особенность:
Мне кажется, ты сейчас уже реально балуешься.
В приведенном тобой тексте вышеприведенной GREP-строкой обнаруживаются все случаи (3423234) без исключений. Поиску без разницы, где и что стоит. Если соблюдается условие для поиска, поиск осуществляется. Все строки #6 fhdjgfghd (3423234) в тексте удовлетворяют условию поиска, поэтому все случаи (3423234) будут найдены.

>>Может кому пригодится заметка
Поверь на слово - никому.
 
  • Спасибо
Реакции: RIKITIKI

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Мне кажется, ты сейчас уже реально балуешься.
В приведенном тобой тексте вышеприведенной GREP-строкой обнаруживаются все случаи (3423234) без исключений. Поиску без разницы, где и что стоит. Если соблюдается условие для поиска, поиск осуществляется. Все строки #6 fhdjgfghd (3423234) в тексте удовлетворяют условию поиска, поэтому все случаи (3423234) будут найдены.

а смысл мне гадить в лужу из которой пью?
- нет, не балую :(

заново попробовал
+ создал файл с нуля
+ копипаст с данной темы
= результат тот же - по поиску идут скачки.
(может у мой билд InDesign глючит - пока проверить не могу)

Посмотрите пожалуйста файл-пример
на котором проверял.
тест__заголовок_скобка(id2021)_01.indd
 

RIKITIKI

20 лет на форуме
Сообщения
1 465
Реакции
515
убери крышечку (каре) в начале выражения поиска
 
  • Спасибо
Реакции: blacksolg