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 $.