Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
Python si REGEX: De ce nu face replace la re.sub si la re.compile in aceste situatii?
Last Updated: Apr 05 2022 08:07, Started by
me_suzy
, Apr 04 2022 23:21
·
0
#1
Posted 04 April 2022 - 23:21
salut, ma confrunt cu o situatie ciudata. Aceste FIND and REPLACE nu merg. Adica find merge, dar replace nu merge.
In aceste 3 situatii, trebuie sa inlocuiesc un anuit regex cu (spatiu gol). Vedeti acolo acel ' ' Daca la re.findall as pune orice regex simplu, de exemplu un html tag <div> atunci se face inlocuirea perfect. Dar daca este un alt gen de regex, cum sunt cele de mai jos, inlocuirea nu se mai face. Adica nu se intampla nimic... Are cineva vreo solutie? if len(re.findall('(?!<p>).+?(?<!</p>)$', page_text)) != 0: page_text = re.sub('(?!<p>).+?(?<!</p>)$', '', page_text) counter_img += 1 OR if len(re.findall('^\s+</p>', page_text)) != 0: page_text = re.compile(r'', page_text) counter_img += 1 OR if len(re.findall('\n\s*', page_text)) != 0: page_text = re.sub('\n\s*', '', page_text) counter_img += 1 Edited by me_suzy, 04 April 2022 - 23:22. |
#2
Posted 05 April 2022 - 06:20
Nu ar trebui sa folosesti niste flag-uri (global, multiline, case insensitive ...)?
Testeaza regex-urile pe https://regex101.com/ |
#3
Posted 05 April 2022 - 06:56
nu stiam ca in Python (re.sub si re.compile) se folosesc flag-uri (global, multiline, case insensitive ...).
Stupid este faptul ca pe site-ul https://regex101.com/ imi merg formulele Python . De exemplu: https://regex101.com/r/IO1qQS/1 Deci FIND imi merge. Stiam asta. Problema este la REPLACE ! |
#4
Posted 05 April 2022 - 07:52
bbox, on 05 aprilie 2022 - 06:20, said:
Nu ar trebui sa folosesti niste flag-uri (global, multiline, case insensitive ...)? Testeaza regex-urile pe https://regex101.com/ EVRIKA !! Ai avut dreptate ! Trebuia sa adaug un flag de tipul flags=re.MULTILINE Merge Replace acuma ! Thanks if len(re.findall('(?!<p>).+?(?<!</p>)$', page_text, flags=re.MULTILINE)) != 0: page_text = re.sub('(?!<p>).+?(?<!</p>)$', '', page_text, flags=re.MULTILINE) counter_img += 1 |
#5
Posted 05 April 2022 - 08:07
Vad ca ai gasit deja. LE: De fapt nici re.findall() nu iti mergea corect decat din intamplare… Edited by sags, 05 April 2022 - 08:12. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users