<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_Python%2FRegEx-4</id>
	<title>Curso de Programación en Python/RegEx-4 - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.cabal.mx/index.php?action=history&amp;feed=atom&amp;title=Curso_de_Programaci%C3%B3n_en_Python%2FRegEx-4"/>
	<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_Python/RegEx-4&amp;action=history"/>
	<updated>2026-05-19T15:44:52Z</updated>
	<subtitle>Historial de revisiones para esta página en el wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_Python/RegEx-4&amp;diff=120857&amp;oldid=prev</id>
		<title>Rrc en 11:04 10 ene 2016</title>
		<link rel="alternate" type="text/html" href="http://wiki.cabal.mx/index.php?title=Curso_de_Programaci%C3%B3n_en_Python/RegEx-4&amp;diff=120857&amp;oldid=prev"/>
		<updated>2016-01-10T11:04:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Pero, si queremos que coincida con una expresión regular en el comienzo de una cadena y sólo al principio?&lt;br /&gt;
El módulo re de Python proporciona dos funciones para que coincida con las expresiones regulares. Nos hemos encontrado &lt;br /&gt;
ya uno de ellos, es decir, la search(). El otro tiene en nuestra opinión un nombre engañoso: match()&lt;br /&gt;
Fraudulenta, porque match(re_str, s) comprueba si re_str simplemente en el principio de la cadena.&lt;br /&gt;
Pero de todos modos, match() es la solución a nuestra pregunta, como podemos ver en el siguiente ejemplo:&lt;br /&gt;
&lt;br /&gt;
[rrc@Pridd ~]$ python3&lt;br /&gt;
Python 3.4.3 (default, Jul  1 2015, 18:38:11) &lt;br /&gt;
[GCC 4.9.2] on linux&lt;br /&gt;
Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; import re&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Str1 = &amp;quot;Paco es un nombre muy común&amp;quot;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Str2 = &amp;quot;Se llamo Paco pero no es Mexicano&amp;quot;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;P..o&amp;quot;, Str1 ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(0, 4), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;P..o&amp;quot;, Str2 ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(9, 13), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.match( r&amp;quot;P..o&amp;quot;, Str1 ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(0, 4), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.match( r&amp;quot;P..o&amp;quot;, Str2 ) )&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
Por lo tanto, esta es una manera para que coincida con el inicio de una cadena, pero es un método específico Python, &lt;br /&gt;
es decir, no se puede utilizar en otros lenguajes como Perl, AWK y así sucesivamente. No es una solución general que &lt;br /&gt;
es un estándar para las expresiones regulares:&lt;br /&gt;
&lt;br /&gt;
El acento circunflejo &amp;#039;^&amp;#039; coincide con el principio de la cadena, y en MULTILINE (se explicará más abajo) modo también &lt;br /&gt;
coincide inmediatamente después de cada nueva línea, que el método Python match() no hace.&lt;br /&gt;
El &amp;#039;^&amp;#039; tiene que ser el primer caracter de una expresión regular:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;^P..o&amp;quot;, Str1 ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(0, 4), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;^P..o&amp;quot;, Str2 ) )&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
Pero, ¿qué pasa si se concatena las dos cadenas Str1 y Str2 de la siguiente manera:&lt;br /&gt;
&lt;br /&gt;
Str3 = Str2 + &amp;quot;\n&amp;quot; + Str1&lt;br /&gt;
&lt;br /&gt;
Ahora la cadena no se inicia con un Paco de cualquier tipo, pero el nombre es después de un caracter de nueva línea:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Str3 = Str2 + &amp;quot;\n&amp;quot; + Str1&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;^P..o&amp;quot;, Str3 ) )&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
El nombre no se ha encontrado, porque sólo el principio de la cadena está chequeando. Se Cambia, si utilizamos&lt;br /&gt;
el modo de MULTILINE, que puede ser activado mediante la adición de los siguientes terceros parámetros de búsqueda:&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;^P..o&amp;quot;, Str3, re.MULTILINE ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(36, 40), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.search( r&amp;quot;^P..o&amp;quot;, Str3, re.M ) )&lt;br /&gt;
&amp;lt;_sre.SRE_Match object; span=(36, 40), match=&amp;#039;Paco&amp;#039;&amp;gt;&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; print( re.match( r&amp;quot;^P..o&amp;quot;, Str3, re.M ) )&lt;br /&gt;
None&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
El ejemplo anterior también muestra que el modo MULTILINE no afecta el método de match(). match() Nunca&lt;br /&gt;
comprueba nada, pero el principio de la cadena para un coincidencia.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rrc</name></author>
		
	</entry>
</feed>