регулярное выражение: замена фигурных скобок на [^] вокруг символа - PullRequest
1 голос
/ 10 марта 2020

Я новичок в Python Я пытался изменить строку таким образом, чтобы последовательность {.} Была заменена на [^.], Где точка может представлять любой символ.

Я пытался запись:

 def preprocess_mot (motif):
    motif= re.sub( '\{.*?\}',  lambda m: '[^' + m.group()+"]" ,    motif)  
    print(motif)

, но это не снимает фигурные скобки.

Например,

preprocess_mot("asdasd{d}")

дает

asdasd[^{d}]

, когда должно дать

asdasd[^d]

1 Ответ

1 голос
/ 10 марта 2020

Я делаю свой комментарий ответом:

Используйте группу захвата:

motif= re.sub( '\{(.*?)\}', lambda m: '[^' + m.group(1) + "]" , motif)  
#                 ^___^                            __^
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...