Задать вопрос

Как извлечь социальные теги из текста с помощью regexp?

Подскажите, пожалуйста, как должен выглядеть паттерн для выборки тегов из текста.
Есть текст, в котором социальные теги определены символом #. Например:

#спорт #наука #мероприятия
Описание тестового мероприятия 1

Тег состоит из одного слова и может заканчиваться символами '#', пробел, перевод строки или концом строки.

В голову приходит такая конструкция, но как описать сам паттерн сообразить не могу:
var a1 = Regex.Split(text, "pattern");

(первый элемент массива после выполнения split — по видимому, отбрасывается за ненадобностью. Это я сделаю потом сам)
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
@PavelMos
#[-а-яА-Я]+
Но это если слово состоит только из букв и дефисов. Если цифрые есть , то надо и цифры 0-9 добавить.

Для слов есть также [[:word:]] и \w, но надо проверять, будут ли они в конкретном языке работать с кириллицей.

Проверять регулярные удобно в онлайн-сервисах например https://regex101.com/ и есть еще отдельные программы типа Regex coach.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы