TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #146 · 16 сеп.

Функция sub в regex может принимать функцию в качестве аргумента repl. 📄 Из документации: If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string. То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений. Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений. Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере: Создаем карту замены. То есть какие строки на какие требуется менять. remap = { 'раз': '1', 'два': '2', 'три': '3', 'четыре': '4', 'пять': '5', } Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match. Используя данные этого объекта мы вычисляем замену on-the-fly! def get_str(match: re.Match): word = match.group(1) return remap.get(word.lower()) or word Пример текста. text = '''Раз Два Три Четыре Пять Вместе будем мы считать Пять Четыре Три Два Раз Мы считать научим вас ''' Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции. (Данный паттерн ищет отдельные слова в тексте) >>> print(re.sub(r'(\w+)', get_str, text)) 1 2 3 4 5 Вместе будем мы считать 5 4 3 2 1 Мы считать научим вас Думаю, достаточно наглядно 🤓 #libs#regex

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #qulelc

当前筛选 #qulelc清除筛选

01111000001010010110011001001111011011110100110100111010011010100110101001010101010110010110100000111000010101010111 10100110000000111000011001100101001000101000010110000111101100110000010001010011001101101010010011100011110101001001 00110001011000110110110101101100011000110110101001011000001110000110010101000101011110110111100100110001010010000010 10100011011001001101011000100010011000101010001101100110010000111110011001100101011100110011010001110011100001000110 01000010011011110100111001100000010010010010001101001111011111010110001101100000011011100101111100111010011100100011 10110110111100100100010000100101000000101100001010000010000101011010001010000101100100101111011001100101011100110000 00101111001101010101011001110000001111110101001100110101001101110010100101000100011100000110111001111110001011110101 00100111101001111100001100000100011001001110011100000100111101010010011000100010011001111000011011100110110000101010 01110111001111100100101000101111001000010011110100111111010010100101001000101100001010110011010001110111001001000110 01010110111001001101001111100110011000100010011010000111001001110110001111110101000001001000010101010010110001100001 00100011010100100101000000110101001111000011101000111111010110110111001101100101011101000100100101110100010100100111 00110010110001110110011000100111000101111010011011100111100001100010001101110010111100100011011100010101010101001100 01100101010100000100001101000000011000010011111101010010011010110011101000111111001101010011111100111111001110110011 01110110000000111000010100000110110101000100011001010111100001110100011010010111101001110010011110000011001100100011 01110001010011110011001001011010011100010110110000101000011011000110110001100100011101010100100001011101001111100101 01010011000000111001010010010101110101010000010100000110000101110100011000100110100100110010011011100100101000110000 00111011011101000100100000100110010101000011000101101010001000010010101001010100011010010111100001111010001111110100 01110110110100111001001111100101100101011101001000110110101000101010010111110100010100101001011001100101111001110001 01001101011001000100110101101011011110110100110101000100000010100000101001000010001110010011000100000000000000000000 byteToAscii: tool: https://cryptii.com/pipes/binary-decoder to: {t>Jt#c@JR,+4wbdo5>f#i~*$8|T:Z#RL5R;4+setItRQPtbZ2nxb7%#qULeLC@a?Rjd`5??;7`8?mDextUd$ifHsO2Zql(lUguH]>=5hM]PPa]ci2nJ?:?B&T1j!*rayzUH36>Y[#~(_Ekf_nG<jjUYh8Uz~8"Q"i{0E3jN=IzcmlcjW8eE{y(j+6Mb%Y7d]f<1G8HBp6l*Rl`c`n_:r;I$C8,(!Z(Y/fe0"2Vp?SL9)DpnL,fxn)FN)N:g&xnl*w>J/!=?VN,+4w$enM>f"h~*$8|TGl#RP5<:?[setI?Ls,vbqznxb7%#r%LeLCrZ?Rk:06??;7|84bDeytUd$i3#6O}Tql(lVdBe]>c09I=uLa]ci2nJ0;?B&T"k3+Tiyz?Gm9>Y&#j*xkf_nz1jjUYh8Uz~8"Q"i{0E3]M=I1c2lcjX8eE{y1H*6=Z&*6d]ff<G8FB(M`ISl`c`n_:r;o$BP,(3OgR/fe0/5&S?S%7)Dpn~/Rz|0HN)N:g&x*l*w>J/!=?VN,+owbdo5{f"hrv$8|TGl#RL5R;?[setItRs,vb$znxb7%#8!LeLCrZ?Rk:06??;7`8PmDextUd$ifHsO}Tql(lEguH]>=5hM=uPatb5%nJ;:?B&T1j!*Tiyz?Gm9>Y%#j*_E)fOoM:jjcYh8Uz`8fR"ige"2jN=I1cml`oX8WE*1(j+6=Z&*6d]fW3G8FBp6l*!O}cRz_:r;q6C8,(>Z(Y/fe0/5&S?SL9)DpnL,fxn)HNpORb&xnl*w>Jt#c@W6,+4wbdnM>f"h~*?PHUDm#RL5R;4+qe9I?LQPtb$znxa7/#8!LePC@a?Rk:06??;7`84bDext&zrx3#6O}Tr](lUgBe]>=5hM]PLa]ci2nJw;tH&T}k3+rayz?G36>Y&#j*`xkf_nz1jjUYh8&/`8fR(X{0E3jN=I1cml`oW8WE*1(j+6&Z%Y7d>f<1G8HBoN`ISladRz_:s;I$C8,(nOgR9Df0"2&S?S%7APpn/Rz|0FN)N:g&x*l{t>Jt#c@VN,+4w$eo5{f"hrv$8|TGl#RL5<:?[se9ItRQPtb$znxb7%#r%LeLCrZ?Rjd66??;7|8^aDextizrxfHsO}Tql(lVdBe]>c09I]PPatbi2nJw;tH&T}k3+rayzUH36>Y[#j*_E)fOoM:jjUYh8&/~8fR(Xge"2jN=I1cml`oW8eE*1(j+6Mb%Y7d>f)=G8FBp6l*!Odd`n_:s;o$C8,(!Z(Y9Df0/5&S?S%7)DpnP,fxn)FN)NRb&xnl*w>Ju#c@JR,+4wbdnM{f"hrv?PHUDm#RL5<:4+se9I?LQPtbv2nxa7/#qULeLC@a?Rk:?5gM<7`84bDeytUd$i3#6O}Tr](lVdBe]>U09I]PPa]ci2nJ;:?B&T}k3+rayz?G36>Y]#~(`x)fOoM:jjUYh8Uz`8fR(X{0E3jN=I1cmlcjX8eE{y1H*6Mb&*6d>fW3G8FBoN`I#O}c`n_:r;o$BP,(!Z(Y/fW0/5Vp?S57)Dpn~/Rz|0FNpORb&xnl*w>J/!=?JR,+4w$enM>f"hrv?PHU,a#RP5<:?[setItRs,vbqznxb7/#qULePC@a?Rk:?5??;7`8PmDextizrx3#qO2Zql(llduH]>U09I]PPatbi2nJ0;tH&T1j!*Tixz?Gm9>Y]#j*_E)f^qMdMk{MD