Найти - Пользователи
Полная версия: Регулярное выражние. re.sub
Начало » Python для новичков » Регулярное выражние. re.sub
1
zloymih
Не получается сделать замену с использованием re.sub

есть две переменные
a='D:\update\Update_XP'
b='D:\update\Update_XP\20110101\WindowsXP-KB2079403-x86-RUS.exe'
p = re.sub(a,'#',b)
print(p)
>>>D:\update\Update_XP\20110101\WindowsXP-KB2079403-x86-RUS.exe
Ничего не изменилось. А Так работает:
p = re.sub('\d','#',b)
print(p)
>>>D:\update\Update_XP\########\WindowsXP-KB#######-x##-RUS.exe
получается, что нельзя шаблон как переменную в регулярку передавать? И как в таком случае быть?
plusplus
zloymih
И как в таком случае быть?
    
a= r'D:\\update\\Update_XP'
b=r'D:\update\Update_XP\0110101\WindowsXP-KB2079403-x86-RUS.exe'
p = re.sub(a,'#',b)
print(p)
zloymih
Хорошо, но проблема в том, что переменные a и b это результат каких-то функций, точнее
for root, subFolders, files in os.walk(a):
for b in files :
p = re.sub(a,'#',b)
print(p)
как мне добавить по ‘\’ и по ‘r’ к ним?
polymetr
p = re.sub(re.escape(a),'#',b)
zloymih
Спасибо! Это работает. В перле было проще :(
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB