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

Как найти совпадение, чтобы группа была либо перед, либо до слова?

Парсинг навыков. Есть группа навыков - /(python/java|c\+\+|c)/gmi (сокращаю, тк это лишь пример). Крайний случай тут /c/ тк эта буква просто может быть в латинском слове. Это будет самостоятельным словом если либо после, либо перед ним есть знаки препинания или пробельные символы - /( |,|.|$|^)/gmi. Получается надо, чтобы эта группа была либо до, либо после, но также может быть и там, и там, но не может ни разу. Есть какое-нибудь хорошее решение для этого? Рад буду и любым другим таким же или более эффективным решениям.
  • Вопрос задан
  • 42 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    iOS Developer
    12 месяцев
    Далее
  • AndroidSprint
    Попробуйте себя в роли разработчика за 10 дней
    1 неделя
    Далее
  • Stepik
    Парсинг на Python для начинающих
    2 недели
    Далее
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Можно как-то так попробовать:
spoiler
import re
data = '/(python/java|c\+\+|c)/gmi'

string = r'(\b[\w\\+]+)'
print(re.findall(string, data))


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

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

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