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

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

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


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

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

Войти через центр авторизации
Похожие вопросы