/ / Как да напишем регекс в Python, за да запазим съдържанието на групата непроменено? [дубликат] - питън, регекс

Как да напишем регекс в Python, за да запазим съдържанието на групата непроменено? [дубликат] - питън, регекс

Опитвам се да използвам Python, за да пускам регекс, за да направя замяната, както е показано по-долу:

a = "%I"m a sentence.|"
re.sub(r"%(.*?)|", "<1>", a)

Тогава b = <1>, но искам да получа резултата от <I"m a sentences.>

Как трябва да постигна това? Опитах се да се събера I"m a sentence, но чувствам, че съм направил нещо нередно, така че резултатът не поддържа групата 1. Ако имате някакви идеи, моля да ме уведомите. Благодаря много предварително!

Отговори:

5 за отговор № 1

Използвайте необработен низ за замяна, в противен случай 1 ще се тълкува като окталов код, а не за обратна връзка.

И задайте резултата на b.

b = re.sub(r"%(.*?)|", r"<1>", a)

ДЕМОНСТРАЦИЯ


3 за отговор № 2

за улавяне на използването на групата g<1>

a = "%I"m a sentence.|"
a = re.sub(r"%(.*?)|", "<g<1>>", a)
# <I"m a sentence.>