validar regulares python3 para metacaracter fechas expresiones ejemplos python regex python-3.x

python - regulares - Expresión regular para devolver el texto entre paréntesis



python string expresiones regulares (5)

u''abcde(date=/'2/xc2/xb2/',time=/'/case/test.png/')''

Todo lo que necesito es el contenido dentro del paréntesis.


Basándose en la respuesta de tkerwin, si tiene paréntesis anidados como en

st = "sum((a+b)/(c+d))"

su respuesta no funcionará si necesita tomar todo entre el primer paréntesis de apertura y el último paréntesis de cierre para obtener (a+b)/(c+d) , porque encuentra las búsquedas de la izquierda de la cadena, y se detendría en el primer paréntesis de cierre.

Para solucionarlo, debe usar rfind para la segunda parte de la operación, para que se convierta en

st[st.find("(")+1:st.rfind(")")]


Si quieres encontrar todas las ocurrencias:

>>> re.findall(''/(.*?/)'',s) [u"(date=''2/xc2/xb2'',time=''/case/test.png'')", u''(eee)''] >>> re.findall(''/((.*?)/)'',s) [u"date=''2/xc2/xb2'',time=''/case/test.png''", u''eee'']


Si su problema es así de simple, no necesita expresiones regulares:

s[s.find("(")+1:s.find(")")]


Utilice re.search(r''/((.*?)/)'',s).group(1) :

>>> import re >>> s = u''abcde(date=/'2/xc2/xb2/',time=/'/case/test.png/')'' >>> re.search(r''/((.*?)/)'',s).group(1) u"date=''2/xc2/xb2'',time=''/case/test.png''"


import re fancy = u''abcde(date=/'2/xc2/xb2/',time=/'/case/test.png/')'' print re.compile( "/((.*)/)" ).search( fancy ).group( 1 )