Acento circunflejo ^ y de Dolar $ inicio y fin en la expresiones regulares

También se puede utilizar el acento circunflejo (^) al principio de una expresión regular para indicar que la coincidencia debe producirse al principio del texto buscado. Del mismo modo, puede poner un signo de dólar ($) al final de la expresión regular para indicar que la cadena debe terminar con este patrón regular. Y puede utilizar ^ y $ juntos para indicar que toda la cadena debe coincidir con el regex, es decir, no basta con que la coincidencia se produzca en algún subconjunto de la cadena.

Por ejemplo, la cadena de expresión regular r'^Hello' coincide con las cadenas que empiezan por 'Hello'. Introduzca lo siguiente en el shell interactivo:

>>> import re
>>> beginsWithHello = re.compile(r'^Hello')
>>> beginsWithHello.search('Hello, world!')
<re.Match object; span=(0, 5), match='Hello'>
>>> beginsWithHello.search('He said hello.') == None
True

La cadena de expresión regular r'\d$' coincide con las cadenas que terminan con un carácter numérico del 0 al 9. Introduzca lo siguiente en el shell interactivo:

>>> import re
>>> endsWithNumber = re.compile(r'\d$')
>>> endsWithNumber.search('Your number is 42')
<re.Match object; span=(16, 17), match='2'>
>>> endsWithNumber.search('Your number is forty two.') == None
True

La cadena de expresión regular r'^\d+$' coincide con las cadenas que comienzan y terminan con uno o más caracteres numéricos. Introduzca lo siguiente en el shell interactivo:

>>> wholeStringIsNum = re.compile(r'^\d+$')
>>> wholeStringIsNum.search('1234567890')
<re.Match object; span=(0, 10), match='1234567890'>
>>> wholeStringIsNum.search('12345xyz67890') == None
True
>>> wholeStringIsNum.search('12  34567890') == None
True

Las dos últimas llamadas a search() en el ejemplo anterior de la shell interactiva demuestran cómo toda la cadena debe coincidir con la regex si se utilizan ^ y $.

Deja una respuesta