[ID CC-CC2021] Grep-стиль абзаца, не работает в начале строки. Ищу помощи

blacksolg

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


(?<=[^=])\={3}.\h*([^=\r\n]+\w)\h*.\={3}(?=[^=])
- grep в "стиле абзаца"
- выделяет текст между маркеров: ===текст===

Да - работает когда перед начальным маркером = есть пробел или текст
Не - работает, стоит поставить ===текст=== в начале абзаца (первый символ в строке = )

* - при поиске ctrl+f запрос работает по всем вариантам:
с выделением внутри текста / когда маркер является первым в строке.


Вопрос:
Как и чем дополнить приведенный выше запрос в "стиле абзаца":
для работы выделения внутри текста, а также выделения если маркер стоит в начале строки?

Заранее больше спасибо!
 

К.Т.

Участник
Сообщения
323
Реакции
337
Убрать выражения в скобках в начале и в конце.
 
  • Спасибо
Реакции: blacksolg

Gad

Сообщения
2 971
Реакции
1 404
(?<=\={3}).+?(?=\={3})
 
  • Спасибо
Реакции: blacksolg

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
Убрать выражения в скобках в начале и в конце.
Спасибо! Гениально!

Но..
при выделении ==текст== в том же абзацном стиле
по родственному запросу:
\={2}.\h*([^=\r\n]+\w)\h*.\={2}
\={3}.\h*([^=\r\n]+\w)\h*.\={3} (решение приведенное выше для ===)
выделяются и ===текст===

А необходимо раздельно, выделять текст между маркеров === и ==
(назначая разный цвет и стиль)
*[[

Возможно ли такое решение?
или только "или так/или эдак "

Спасибо
 

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
(?<=\={3}).+?(?=\={3})

Не по теме:

ИМХО изначально не верна идея, начальный и конечный маркеры должны отличаться например +==текст==+ и жить станет проще :)


Спасибо.
Ваш вариант, в смежном выделение, в стиле абзаца: ==текст==
- не цепляет-не выделяет, работает строго по ===

Но когда строка выглядит: ===Начало строки=== что-то еще ===текст===.
- начинает выделять и "что-то еще" - плохо, так как то простой текст.

Не по теме:
в первоначальном grep, идет еще и выделение самих маркеров, в вашем примере такого нет, а хочеца))... хотя, то и не сильная беда - техническое выделение... но, то что хватает и "что-то еще" - тут к сожалению не вариант =(


Не по теме:
согласен закрывающие/разные теги-маркеры делают жизнь слаще, но в наборе рукописи исхожу из markdown, да и набирать-запоминать теги так проще.
 

Gad

Сообщения
2 971
Реакции
1 404
\={3}.+?\={3}
курсор не должен стоять в тексте
 
Последнее редактирование:
  • Спасибо
Реакции: blacksolg

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
\={3}.+?\={3}
курсор не должен стоять в тексте



Код:
===Начало строки=== что-то еще ===текст===
==Начало строки== что-то еще ==текст==

\={3}.+?\={3} - да, "что-то еще" в строке больше не выделяется, маркеры выделяются. спасибо.
\={2}.+?\={2} - нет, так как данный запрос начинает выделять и === - конфликт *[[ 'opa!)'




* первоначальный grep запрос хорошо справлялся с задачей
выделить ==текст=== и ===текст=== раздельно (сменив циферки 3 на 2)
потому его и привел (не отдельный вопрос топика)

**"курсор не должен стоять в тексте"
- Честно говоря не понял, простите.
- Работаю с "стиль абзаца -> стиль grep" - тут вроде курсор в текст и не нужно ставить...
 
Последнее редактирование:

blacksolg

Участник
Топикстартер
Сообщения
249
Реакции
7
имелся в виду обычный поиск :) На всякий случай уточнил

Не по теме:
в обычном поиске исходный код работает норм - ищет и в начале строки,
а вот ежели в стиль абзаца - не работает *[[

 

blacksolg

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

Вчера не получалось.
Сегодня справился:
нужно было разметить в правильной последовательности, grep запросы, внутри Абзацного стиля.
не знаю есть ли там наложение/перекрытие в выделении... но визуально (подсветка) - работает

сначала \={2}.\h*([^=\r\n]+\w)\h*.\={2} (для выделения ==текст== )
после \={3}.\h*([^=\r\n]+\w)\h*.\={3} (для выделения ===текст=== )
 
  • Спасибо
Реакции: Gad