@Zlat1997

Как в python сконструировать Regex из кусков строки?

У меня есть вот такие подстроки
b"-"; b"|"; b"+"
и я хочу получить регулярку вида
rb"[\-|\||\+]+"
но не могу понять, как мне склеить эти строчки, что бы добавить перед + тд символ экранирования \
  • Вопрос задан
  • 188 просмотров
Решения вопроса 1
lidacriss
@lidacriss
wtf
загоняете в массив ваши подстроки и потом join, map
arr = [b"-", b"|", b"+"];
print(rb'[' + b''.join(map(bytes, list(map(lambda e: b'\\'+e, arr))))+b']+')
# b'[\\-\\|\\+]'

только здесь вопрос:
что должна делать ваша регулярка?
если посмотреть на это rb"[\-|\||\+]+"
то судя по всему, вы хотите, чтобы она находила последовательность из символов типа -|+
то, что в квадратных скобках не обязательно экранировать. в частности, только дефис "-" нужно экранировать, и то только если он не в начале или конце последовательности символов [|\-+]
можно составить регулярку такого вида: [-|+]+
и она должна будет работать как надо
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект