не могу переделать этот кусок кода. Его задача - в рандомизации текста, по типу: text1 [text2 |text3 | [text4 |text5]] text6 ----- text1 text2 text6 или text1 text3 text6 или text1 text4 text6 или text1 text5 text6. Но в данный момент он работает лишь со скобками такого типа - {}. Как мне переделать код под свои скобки []?
Код:
n = True
while n:
text, n = re.subn(r"{([^[]]+)}", lambda x: random.choice(x.group(1).split("|")), text)
return text
Вообще не понял задачу
Нужно в регулярном выражении сделать поиск не {} скобок и разбиение по ним, а сделать по [] скобкам
Попробуй с \ их записать
Регулярки нужно писать в regex101.com или его аналоге
Не работаеn так) Я пробовал, тот же текст возвращает
ну значит ты ещё что-то не то делаешь
А у тебя он запускается и работает нормально?
Код
какой?
Что вообще такое "поиск не {} скобок"?
Код: n = True while n: text, n = re.subn(r"{([^{}]+)}", lambda x: random.choice(x.group(1).split("|")), text) return text
Сейчас рандомизация работает на {} - таких фигурных скобках, в них помещается текст и варианты выбора для рандома, а мне нужно, что бы скобки были [] - такими
Она зато работает с фигурными скобками, но с квадратными не хочет
Почему не сделаешь .replace('{', '[') и т.д.?
регулярку можно упростить, если использовать ленивый плюс
Обсуждают сегодня