Difference between revisions of "ES/Manuales/GuiaAOO/TemasAvanzados/RegExp"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Created page with "{{ES/AyudaWiki/Borrador}} {{DISPLAYTITLE:Expresiones regulares}} = Introducción = Con [http://es.wikipedia.org/wiki/Expresiones_regulares expresiones regulares] (de ahora e...")
 
(Introducción)
Line 20: Line 20:
  
 
Como se puede ver  de estos ejemplo, en las ExpReg varios caracteres tienen un significado especial. En este artículo las principales características del sistema [http://en.wikipedia.org/wiki/International_Components_for_Unicode ICU] utilizado por Apache OpenOffice serán comentadas.
 
Como se puede ver  de estos ejemplo, en las ExpReg varios caracteres tienen un significado especial. En este artículo las principales características del sistema [http://en.wikipedia.org/wiki/International_Components_for_Unicode ICU] utilizado por Apache OpenOffice serán comentadas.
 +
 +
= Caracteres especiales =
 +
 +
Como ya hemos comentado, varios caracteres tienen un significado particular dentro de la expresión regular. Estos caracteres son todos los tipos de paréntesis, corchetes y llaves, la barra invertida, el punto, el signo de pesos, etcétera. Para buscar por estos caracteres especiales es necesario «escaparlos» con una barra invertida: por ejemplo, para buscar por [ se necesita escribir
 +
 +
  \[
 +
 +
y, por supuesto, para buscar la barra invertida ''dos'' barras invertidas deben ser escritas
 +
 +
  \\
 +
 +
== El punto ==
 +
 +
El punto puede utilizarse para encontrar un carácter genérico.
 +
 +
  h.y
 +
 +
encontrará hoy, hay, huy... incluso hXy.
 +
 +
La expresión
 +
 +
  [:any:]
 +
 +
es equivalente al punto.
 +
 +
== Signo de interrogación ==
 +
 +
Se utiliza para encontrar cero o una instancias del carácter anterior. Por ejemplo
 +
 +
  buscas?
 +
 +
encontrará tanto busca como buscas.
 +
 +
== El más ==
 +
 +
Se utiliza para encontrar una o más instancias del carácter anterior.
 +
 +
== El asterisco ==
 +
 +
Encuentra un número arbitrario de instancias, incluso cero:
 +
 +
  hay*
 +
 +
encontrará hay, hayy, hayyyyyyyy...
 +
 +
== Llaves ==
 +
 +
Pueden usarse para indicar el número de repeticiones. Por ejemplo,
 +
 +
  ou{2,5}ch
 +
 +
encontrará ouuch, ouuuch, ouuuuch, ouuuuuch, pero no ouch!
 +
 +
Usando solo un número se encontrará ese exacto número de instancias
 +
Using only one number will match the exact number
 +
 +
  ou{3}ch
 +
 +
encontrará solo ouuuch, mientras que
 +
 +
  ou{3,}ch
 +
 +
encontrará la palabra con ''al menos'' tres u.
 +
 +
== Acento circunflejo ==
 +
 +
El signo ^ tiene varios significados dependiendo del contexto. Por un lado, puede ser utilizado para encontrar cualquier cosa al principio de un párrafo. Por ejemplo, en el párrafo
 +
 +
  El texto en el libro
 +
 +
la expresión
 +
 +
  ^el
 +
 +
encontrará el primer «el», pero no el segundo.
 +
 +
Dentro de corchetes, el signo ^ sirve para ''negar'' un carácter. Por ejemplo,
 +
 +
  [^a]
 +
 +
encontrará cualquier carácter que ''no'' sea una a, mientras que
 +
 +
  [^ar]
 +
 +
encontrará un carácter que no sea ni a ni r.
 +
 +
== El signo $ ==
 +
 +
El significado de este signo también depende del contexto.
 +
 +
Utilizado solo, encontrará quiebres de párrafo pero utilizado con otros caracteres encontrará esos caracteres al final del párrafo. Por ejemplo, en el párrafo
 +
 +
Tu libro está debajo de este otro libro
 +
 +
la expresión
 +
 +
libro$
 +
 +
encontrará la segunda instancia de libro, pero no la primera.
 +
 +
 +
En el campo «reemplazar por» el signo $ tiene otro significado que veremos más adelante.
 +
 +
== La barra invertida \ ==
 +
 +
Como hemos ya comentado, la barra invertida puede usarse para «escapar» símbolos especiales para así poder buscar por ellos, pero también puede darle un significado diferente a símbolos normales. Por ejemplo
 +
 +
  \b
 +
 +
buscará por un ''límite de palabra'':
 +
 +
  \bjus
 +
 +
encontrará las primeras tres letras de justo, justicia, justificar... pero no ajustar mientras que
 +
 +
  mo\b
 +
 +
encontrará las últimas dos letras de cómo, tómo... pero no monitor.
 +
 +
La expresión
 +
 +
  \w
 +
 +
encontrará cualquier carácter dentro de una palabra.
 +
 +
  \W
 +
 +
(con la W en mayúscula) encontrará un carácter que ''no'' es un «elemento de palabra» (un espacio, un signo de pregunta... etcétera).
 +
 +
  \t
 +
 +
encontrará un tabulador
 +
 +
  \n
 +
 +
''encontrará un quiebre de línea, pero en el campo de reemplazar por insertará un quiebre de párrafo (el mismo que se buscaba con $).
 +
 +
La combinación \u seguida por un número exadecimal puede utilizarse para buscar un carácter específico a través de su código unicode. Por ejemplo
 +
 +
  \u03b4
 +
 +
encontrará el carácter griego delta δ.
 +
 +
== La barra vertical | ==
 +
 +
Puede utilizarse para encontrar alternativas. Por ejemplo
 +
 +
  dis[t|c]o
 +
 +
encontrará tanto disto como disco. Esto puede utilizarse con más opciones del tipo [a|b|c].
 +
 +
Los corchetes en la expresión anterior son utilizados para limitar la selección, ya que escribir dist|co buscaría «dist» o «co».
  
 
[[Category:ES]][[Category:Manuales]] [[Category:ES/Writer]]  [[Category:ES/Calc]]
 
[[Category:ES]][[Category:Manuales]] [[Category:ES/Writer]]  [[Category:ES/Calc]]

Revision as of 13:07, 22 April 2013

Editing.png Esta página está en estado borrador.


Introducción

Con expresiones regulares (de ahora en más, ExpReg) es posible localizar textos indefinidos siguiendo un patrón. Por ejemplo, la expresión


 [:number:]

encontrará cualquier dígito,

 [:number:]+

encontrará un entero arbitrario y

 [:number:]+\,?[:number:]*

encontrará un número arbitrario que podría (o no) tener una parte decimal separada por una coma.

Como se puede ver de estos ejemplo, en las ExpReg varios caracteres tienen un significado especial. En este artículo las principales características del sistema ICU utilizado por Apache OpenOffice serán comentadas.

Caracteres especiales

Como ya hemos comentado, varios caracteres tienen un significado particular dentro de la expresión regular. Estos caracteres son todos los tipos de paréntesis, corchetes y llaves, la barra invertida, el punto, el signo de pesos, etcétera. Para buscar por estos caracteres especiales es necesario «escaparlos» con una barra invertida: por ejemplo, para buscar por [ se necesita escribir

 \[

y, por supuesto, para buscar la barra invertida dos barras invertidas deben ser escritas

 \\

El punto

El punto puede utilizarse para encontrar un carácter genérico.

 h.y

encontrará hoy, hay, huy... incluso hXy.

La expresión

 [:any:]

es equivalente al punto.

Signo de interrogación

Se utiliza para encontrar cero o una instancias del carácter anterior. Por ejemplo

 buscas?

encontrará tanto busca como buscas.

El más

Se utiliza para encontrar una o más instancias del carácter anterior.

El asterisco

Encuentra un número arbitrario de instancias, incluso cero:

 hay*

encontrará hay, hayy, hayyyyyyyy...

Llaves

Pueden usarse para indicar el número de repeticiones. Por ejemplo,

 ou{2,5}ch

encontrará ouuch, ouuuch, ouuuuch, ouuuuuch, pero no ouch!

Usando solo un número se encontrará ese exacto número de instancias Using only one number will match the exact number

 ou{3}ch

encontrará solo ouuuch, mientras que

 ou{3,}ch

encontrará la palabra con al menos tres u.

Acento circunflejo

El signo ^ tiene varios significados dependiendo del contexto. Por un lado, puede ser utilizado para encontrar cualquier cosa al principio de un párrafo. Por ejemplo, en el párrafo

 El texto en el libro

la expresión

 ^el

encontrará el primer «el», pero no el segundo.

Dentro de corchetes, el signo ^ sirve para negar un carácter. Por ejemplo,

 [^a]

encontrará cualquier carácter que no sea una a, mientras que

 [^ar]

encontrará un carácter que no sea ni a ni r.

El signo $

El significado de este signo también depende del contexto.

Utilizado solo, encontrará quiebres de párrafo pero utilizado con otros caracteres encontrará esos caracteres al final del párrafo. Por ejemplo, en el párrafo

Tu libro está debajo de este otro libro

la expresión

libro$

encontrará la segunda instancia de libro, pero no la primera.


En el campo «reemplazar por» el signo $ tiene otro significado que veremos más adelante.

La barra invertida \

Como hemos ya comentado, la barra invertida puede usarse para «escapar» símbolos especiales para así poder buscar por ellos, pero también puede darle un significado diferente a símbolos normales. Por ejemplo

 \b

buscará por un límite de palabra:

 \bjus

encontrará las primeras tres letras de justo, justicia, justificar... pero no ajustar mientras que

 mo\b

encontrará las últimas dos letras de cómo, tómo... pero no monitor.

La expresión

 \w

encontrará cualquier carácter dentro de una palabra.

 \W

(con la W en mayúscula) encontrará un carácter que no es un «elemento de palabra» (un espacio, un signo de pregunta... etcétera).

 \t

encontrará un tabulador

 \n

encontrará un quiebre de línea, pero en el campo de reemplazar por insertará un quiebre de párrafo (el mismo que se buscaba con $).

La combinación \u seguida por un número exadecimal puede utilizarse para buscar un carácter específico a través de su código unicode. Por ejemplo

 \u03b4

encontrará el carácter griego delta δ.

La barra vertical |

Puede utilizarse para encontrar alternativas. Por ejemplo

 dis[t|c]o

encontrará tanto disto como disco. Esto puede utilizarse con más opciones del tipo [a|b|c].

Los corchetes en la expresión anterior son utilizados para limitar la selección, ya que escribir dist|co buscaría «dist» o «co».

Personal tools