Подскажите регулярку. Надо найти заглавный текст и выделить его

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
есть текст, обычные абзацы, но перед ними есть оглавление, оно написано заглавными буквами, нужно найти такой текст и запихать его в теги

пример
C#:
Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст
КАКОЕ-ТО НАЗВАНИЕ, ИЛИ ТИПА ТОГО
Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст
нужно найти "КАКОЕ-ТО НАЗВАНИЕ, ИЛИ ТИПА ТОГО" и сделать так "<h2>КАКОЕ-ТО НАЗВАНИЕ, ИЛИ ТИПА ТОГО</h2>"

текст всегда с новой строки, всегда капсом
 

dizney

Client
Регистрация
25.01.2014
Сообщения
51
Благодарностей
52
Баллы
18
C#:
(?<=\r\n)[А-ЯЁ\W]{2,}(?=\r\n)
Пробуй такой вариант
 
  • Спасибо
Реакции: backoff и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 461
Благодарностей
8 686
Баллы
113
Дополню немного. Можно обрамить регулярку скобками, тем самым сделав из нее групповую, и использовать замену с подстановками h2 тегов. Новый вариант регулярки: (?<=\r?\n)[А-ЯЁ\W]{2,}(?=\r?\n)

92563
 
  • Спасибо
Реакции: backoff

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
еще одна регулярка нужна, никак не могу победить
нужно заменять
если в закрытых тегах <p><p> находятся ДО 3х слов то мы все это заменяем на <p><h3></h3><p>
если в тегах больше 3х слов то ничего не делаем

пример
C#:
текст текст текст текст <p>текст текст текст<p> текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст
текст <p> текст текст текст текст текст текст текст </p> текст текст текст текст
должно получиться
C#:
текст текст текст текст <p><h3>текст текст текст</h3><p> текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст
текст текст текст текст текст текст текст текст текст текст текст
текст <p> текст текст текст текст текст текст текст <p> текст текст текст текст
можно ли такое сделать регуляркой? или надо С#?
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 461
Благодарностей
8 686
Баллы
113
@backoff Встречный вопрос не по сути вопроса, но все же - а зачем заголовок выделять тегом абзаца? Заголовок и так подразумевает что будет отображаться с переносами спереди и сзади, уже как бы в абзаце.
 

dizney

Client
Регистрация
25.01.2014
Сообщения
51
Благодарностей
52
Баллы
18
  • Спасибо
Реакции: backoff

dizney

Client
Регистрация
25.01.2014
Сообщения
51
Благодарностей
52
Баллы
18
@backoff Встречный вопрос не по сути вопроса, но все же - а зачем заголовок выделять тегом абзаца? Заголовок и так подразумевает что будет отображаться с переносами спереди и сзади, уже как бы в абзаце.
Согласен.

Правильнее заменять на
</p><h1>$1</h1><p>
Чтобы абзацы отдельно от заголовка были.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 926
Благодарностей
6 389
Баллы
113
Встречный вопрос не по сути вопроса, но все же - а зачем заголовок выделять тегом абзаца? Заголовок и так подразумевает что будет отображаться с переносами спереди и сзади, уже как бы в абзаце.
больше для визуализации
Правильнее заменять на
</p><h1>$1</h1><p>
Чтобы абзацы отдельно от заголовка были.
да, просто изначальный код немного кривой, и нет закрывающих тегов, я с немного ошибся в посте, в исходниках нет </p> есть только <p><p>
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)