Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los patrones simples se construyen con caracteres para los que se desea una
coincidencia exacta. Por ejemplo, el patrón /abc/ coincidirá sólo con esta exacta
secuencia y orden de caracteres ('abc'). Tal expresión tendría resultados en las
cadenas "Hi, do you know your abc's?" y "Los últimos diseños de aviones
evolucionaron desde slabcraft." En ambos existe una coincidencia exacta con la
subcadena 'abc'. No hay coincidencia en la cadena 'Grab crab' debido a que, a
pesar de que contiene los caracteres 'a', 'b' y 'c', la sequencia 'abc' nunca
aparece.
carácter Significado
\ Buscará coincidencias conforme a las siguientes reglas:
Por ejemplo , /.n/ coincide 'an' y 'on' en "nay, an apple is on the tree",
pero no 'nay'.
Por ejemplo, /a{2}/ no coincide con la 'a' en "candy," pero si con las
a de "caandy," y las 2 primeras a en "caaandy."
{n,m} Donde n y m son enteros positivos y n <= m. Coincide con al
menos n y no más de m ocurrencias de la expresión. Si se omite m,
no tiene limite de máximo.
Por ejemplo, /a{1,3}/ no coincide con "cndy", pero sí con la 'a' en
"candy," las primeras 2 a en "caandy," y las primeras 3 a en
"caaaaaaandy". Note que en "caaaaaaandy", la coincidencia es
"aaa", aunque la cadena contenga más a en ella.
[xyz] Grupo de caracteres. Este tipo de patrón coincide con cada carácter
dentro de los corchetes, incluyendo secuencias de escapado.
Caracteres especiales como el punto (.) y el asterisco (*) no son
especiales en un grupo, así que no necesitan ser escapados. Puede
especificar un rango utilizando un guión, como en el siguiente
ejemplo.
Usando paréntesis
Como puede verse en la segunda línea de este ejemplo, puede usar una
expresión regular creada con un inicializador de objeto sin asignarse a una
variable. Si lo hace, sin embargo, cada ocurrencia será una nueva expresión
regular. Por esta razón, si usa este método sin asignarlo a una variable, no podrá
acceder posteriormente a las propiedades de estas expresiones regulares. Por
ejemplo, suponga que tiene el siguiente script:
El script mostrará:
El valor de lastIndex es 5
Se mostrará lo siguiente:
El valor de lastIndex es 0
Esta es mucho más sencilla, como podemos ver acepta opcionalmente o bien
http o https seguido de ://(:\/\/), las contrabarras son para escapar, no hacen nada
más.
Module Example
Public Sub Main()
Dim pattern As String = "(Mr\.? |Mrs\.? |Miss |Ms\.? )"
Dim names() As String = { "Mr. Henry Hunt", "Ms. Sara Samuels", _
"Abraham Adams", "Ms. Nicole Norris" }
For Each name As String In names
Console.WriteLine(Regex.Replace(name, pattern, String.Empty))
Next
End Sub
End Module
' El ejemplo muestra la siguiente salida:
' Henry Hunt
' Sara Samuels
' Abraham Adams
' Nicole Norris
Imports System.Text.RegularExpressions
Module modMain
Public Sub Main()
Dim pattern As String = "\b(\w+?)\s\1\b"
Dim input As String = "This this is a nice day. What about this? This tastes
good. I saw a a dog."
For Each match As Match In Regex.Matches(input, pattern,
RegexOptions.IgnoreCase)
Console.WriteLine("{0} (duplicates '{1}') at position {2}", _
match.Value, match.Groups(1).Value, match.Index)
Next
End Sub
End Module
' El ejemplo muestra la siguiente salida:
' This this (duplicates 'This)' at position 0
' a a (duplicates 'a)' at position 66
(\w+?) Coincide con uno o más caracteres de palabra, pero con el menor
número de caracteres posible. Juntos, forman un grupo al que se
puede hacer referencia como \1.