u'abcde(date=\'2/xc2/xb2\',time=\'/case/test.png\')'
Tout ce dont j'ai besoin est le contenu entre parenthèses.
python
regex
python-3.x
user469652
la source
la source
u"abcde(date='2/xc2/xb2',time='/case/test.png')"
ast
et ne sait tout simplement pas qu'elle existe.Réponses:
Si votre problème est vraiment aussi simple, vous n'avez pas besoin de regex:
la source
Utilisez
re.search(r'\((.*?)\)',s).group(1)
:la source
Si vous voulez trouver toutes les occurrences:
la source
.*
est gourmand (prendra le match le plus long) et.*?
n'est pas gourmand (prendra le match le plus court)En s'appuyant sur la réponse de tkerwin, si vous avez des parenthèses imbriquées comme dans
sa réponse ne fonctionnera pas si vous devez tout prendre entre la première parenthèse ouvrante et la dernière parenthèse fermante pour obtenir
(a+b)/(c+d)
, car rechercher des recherches à partir de la gauche de la chaîne, et s'arrêterait à la première parenthèse fermante.Pour résoudre ce problème, vous devez utiliser
rfind
pour la deuxième partie de l'opération, donc cela deviendraitla source
la source
la source