170 похожих чатов

Люди, кто разбирается с регулярными выражениями, нужна ваша помощь. Я

не могу переделать этот кусок кода. Его задача - в рандомизации текста, по типу: 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

18 ответов

20 просмотров

Вообще не понял задачу

Lenin-Zapasnoy Автор вопроса

Нужно в регулярном выражении сделать поиск не {} скобок и разбиение по ним, а сделать по [] скобкам

Попробуй с \ их записать

Lenin Zapasnoy
Нужно в регулярном выражении сделать поиск не {} с...

Регулярки нужно писать в regex101.com или его аналоге

Lenin-Zapasnoy Автор вопроса
Tishka17
\[

Не работаеn так) Я пробовал, тот же текст возвращает

Lenin-Zapasnoy Автор вопроса
Tishka17
ну значит ты ещё что-то не то делаешь

А у тебя он запускается и работает нормально?

Lenin-Zapasnoy Автор вопроса
Lenin-Zapasnoy Автор вопроса
Tishka17
какой?

Код: n = True while n: text, n = re.subn(r"{([^{}]+)}", lambda x: random.choice(x.group(1).split("|")), text) return text

Lenin-Zapasnoy Автор вопроса
Pavel Павлик
Что вообще такое "поиск не {} скобок"?

Сейчас рандомизация работает на {} - таких фигурных скобках, в них помещается текст и варианты выбора для рандома, а мне нужно, что бы скобки были [] - такими

Lenin-Zapasnoy Автор вопроса
Tishka17
это за хрень

Она зато работает с фигурными скобками, но с квадратными не хочет

Lenin Zapasnoy
Код: n = True while n: text, n = re.subn(r"...

регулярку можно упростить, если использовать ленивый плюс

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта