[Python-es] Duda con expresiones regulares
José Jorge Lorenzo Vila
jjlorenzo en uci.cu
Jue Mar 4 10:08:32 CET 2010
On 03/04/2010 04:05 AM, Francisco Javier Cuadrado wrote:
> El día 4 de marzo de 2010 09:59, José Jorge Lorenzo Vila
> <jjlorenzo en uci.cu> escribió:
>
>> On 03/04/2010 03:53 AM, Francisco Javier Cuadrado wrote:
>>
>>> El día 4 de marzo de 2010 09:43, José Jorge Lorenzo Vila
>>> <jjlorenzo en uci.cu> escribió:
>>>
>>>
>>>> Hola lista,
>>>>
>>>>
>>> Hola.
>>>
>>>
>>>
>>>> Siguiendo las indicaciones he instalado django-wikiapp,
>>>> La duda es que tengo problemas con las expresiones regulares y el
>>>> problema
>>>> radica en que por omisión, el título de los artículos en la wiki se
>>>> valida
>>>> contra la siguiente expresión regular.
>>>> Alguien me podría decir que patrón es el que se está definiendo aquí?
>>>> Me imagino que no debería ser tan restrictivo, pero por alguna razón no
>>>> me
>>>> machea nada.
>>>>
>>>> WIKI_WORD_RE = r'(?:[A-Z]+[a-z]+){2,}'
>>>> wikiword_pattern = re.compile('^' + WIKI_WORD_RE + '$')
>>>>
>>>>
>>>>
>>> No estoy muy seguro, nunca se me han dado demasiado bien, pero mirando
>>> la página de la wikipedia sobre expresiones regulares[1], creo que es
>>> una palabra que debe empezar con una mayúscula, seguida de cero o más
>>> mayúsculas, a la que debe seguir una letra minúscula, seguida de cero
>>> o más minúsculas, y la palabra debe tener como mínimo una longitud de
>>> dos letras.
>>>
>>> Como te digo no estoy seguro, que alguien lo confirme o me corrija.
>>>
>>>
>>>
>>>> Gracias
>>>>
>>>>
>>> [1] http://es.wikipedia.org/wiki/Expresiones_regulares
>>>
>>>
>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> http://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>>
>>>
>>>
>>>
>> Bueno, me había dado casi por vencido, pero viendo lo que me recomendabas,
>> me animé otra vez.
>> Resulta que
>> JoseJorge machea,
>> Jose no
>> JoseJ no
>> JoseJorgeLo no
>>
>> Por lo que me parece estar viendo el patrón siguiente: Tiene que haber
>> mayúsculas seguidas por minusculas y esto se puede repetir solamente dos
>> veces.
>>
>>
> Sí, es lo que comentas, porque me he equivocado al decir que como
> mínimo tenía que tener dos caracteres de longitud, ya que las llaves
> (que indican la longitud) se aplican al bloque de letras mayúsculas
> seguidas de minúsculas, por lo que sería una palabra formada de letras
> mayúsculas (1 a n) seguidas de minúsculas (1 a n) y este conjunto de
> letras se debe repetir dos veces, es decir algo así: MmMm (siendo M
> letras mayúsculas y m letras minúsculas).
>
>
>> saludos y muchas gracias
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
>
Exactamente, muchas gracias. Ahora solo me queda quitarle los {} porque
me parece muy restrictivo.
Muchas gracias lista y en especial Francisco.
Más información sobre la lista de distribución Python-es