Як я можу замінити foobar
з foo123bar
?
Це не працює:
>>> re.sub(r'(foo)', r'\1123', 'foobar')
'J3bar'
Це працює:
>>> re.sub(r'(foo)', r'\1hi', 'foobar')
'foohibar'
Я думаю, що це поширене питання, коли мати щось подібне \number
. Хтось може дати мені підказку, як з цим впоратися?
2
Це запитання було додано до поширених запитань щодо регулярного вираження стека в розділі "Групи".
—
aliteralmind
це питання зайняло у мене досить багато часу, тому що в ньому немає термінів "група захоплення" або "нумеровані посилання на групу", але я врешті-решт тут і рада, що ви це задали.
—
Марк Ч.
Ваша проблема полягає в тому, що r '\ 112' інтерпретується як восьмеричний буквальний 0112, ASCII'J 'або десятковий 74. Ви не бачите, як змусити зворотну посилання' \ 1 'оцінити перед конкатенацією рядків або
—
smci
''.join()
невеликий відхилення від питання, будь-який спосіб віднести всі групові матчі, тобто r '\ <для всіх матчів> привіт'?
—
Саян Дей