Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: <housedir> en 31 Agosto 2013, 16:38 pm



Título: Ayuda con expresiones regulares en vb.net
Publicado por: <housedir> en 31 Agosto 2013, 16:38 pm
hola a todos, pues veran he estado tratando de entender como armar una expresion regular en vb.net pero no consigo un sitio que me explique detalladamente que hace cada simbolo, solo encuentro ejemplos de como hacer esto o lo otro pero nada de verdad que explique bien las cosas.

Por ejemplo para capturar una url en un texto se usa

Citar
(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?

el cual funciona muy bien, pero si alguien pudiera explicarme un poco como logran llegar a eso se los agradeceria muchisimo...

en estos momentos estoy buscando una expresion regular que me devuelva un texto hasta encontrarce con un "[" ó "(" ó "-"


Título: Re: Ayuda con expresiones regulares en vb.net
Publicado por: raul338 en 31 Agosto 2013, 17:23 pm
No estoy seguro que haya manuales de referencia en español, pero este es muy bueno y esta en ingles

http://www.regular-expressions.info/ (http://www.regular-expressions.info/)


Título: Re: Ayuda con expresiones regulares en vb.net
Publicado por: criskapunk en 31 Agosto 2013, 17:31 pm
Buenas,

Capaz esto te ayuda (En Python)

Código
  1. import re
  2. cadena = "Esto es(una cadena[de -caracteres"
  3. print re.split("\(|\[|-", cadena)
Código:
['Esto es', 'una cadena', 'de ', 'caracteres']

Devuelve una lista en la que cada elemento es la parte de la cadena original que corresponde, utilizando como separadores los símbolos ( ; [ ; -.

Podés mirar este artículo de Wikipedia:
http://es.wikipedia.org/wiki/Expresi%C3%B3n_regular


Un saludo.


Título: Re: Ayuda con expresiones regulares en vb.net
Publicado por: Eleкtro en 31 Agosto 2013, 19:37 pm
no consigo un sitio que me explique detalladamente que hace cada simbolo

Ya te han proporcionado el link de la Wikipedia pero la ayuda en inglés está mucho más completa: http://en.wikipedia.org/wiki/Regular_expression

estoy buscando una expresion regular que me devuelva un texto hasta encontrarce con un "["

Código
  1.    Dim [String] As String = "Hello world! [ FTW!"
  2.    Dim [RegEx] As String = "^(.*)\["
  3.    Dim [Match] As String = Convert.ToString(System.Text.RegularExpressions.Regex.Match([String], [RegEx]).Groups(1))
  4.    ' MsgBox(String.Format("""{0}""", [Match])) ' Result: "Hello World! "

La he hecho al vuelo, pero para crear, modificar y en general testear de forma sencilla tus RegEx te recomiendo la aplicación "RegEx Buddy".

Saludos