u'abcde(date=\'2/xc2/xb2\',time=\'/case/test.png\')'
Potrzebuję tylko zawartości w nawiasach.
python
regex
python-3.x
user469652
źródło
źródło
u"abcde(date='2/xc2/xb2',time='/case/test.png')"
ast
i po prostu nie wie, że istnieje.Odpowiedzi:
Jeśli twój problem jest naprawdę prosty, nie potrzebujesz wyrażenia regularnego:
źródło
Zastosowanie
re.search(r'\((.*?)\)',s).group(1)
:źródło
Jeśli chcesz znaleźć wszystkie wystąpienia:
źródło
.*
jest chciwy (najdłuższy mecz) i.*?
nie jest chciwy (wybierze najkrótszy mecz)Opierając się na odpowiedzi tkerwina, jeśli zdarzy się, że masz zagnieżdżone nawiasy, takie jak w
Jego odpowiedź nie będzie działać, jeśli trzeba wziąć wszystko pomiędzy pierwszym otwierającym nawiasie i ostatniego zamknięcia nawiasu do uzyskania
(a+b)/(c+d)
, ponieważ wyszukiwania Znajdź z lewej strony napisu, a zatrzyma przy pierwszym zamykającym nawiasie.Aby to naprawić, musisz użyć
rfind
do drugiej części operacji, aby tak się stałoźródło
źródło
źródło