Hilo oficial: Solicitudes de Expresiones Regulares

<< < (3/6) > >>

WHK:
Obtener el contenido entre etiquetas XHTML:

Código
Código:

<div id="demo">Contenido</div>

Expresión
Código:

/<div\sid="demo">(.+?)<\/div>/si

Resultado:
Código:

Contenido

Eleкtro:
Pues aquí va una expresión regular para capturar una Ipv6:
Código
       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' A pattern that matches an IPv6 address.
       '''
       ''' For Example:
       ''' FE80:0000:0000:0000:0202:B3FF:FE1E:8329
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       Public Const Ipv6 As String =
           "(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))"

o una Ipv4, cómo expresión alternativa a la que ha publicado WHK:
Código
       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' A pattern that matches an IPv4 address.
       '''
       ''' For Example:
       ''' 127.0.0.1
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       Public Const Ipv4 As String =
           "((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])"

PD: Sintaxis VB.Net

Saludos

WHK:
Está bueno agrupar en 3 el grupo de la red a diferencia de la de owasp que las hace por separado, pero de todas maneras deberías agregarle el comienzo ^ y el final $ o si no cuando uses esa validación en un campo de texto que solo soporte un valor de ip validará texto basura antes y después de la ip como por ejemplo:

Código:

127.0.0.1' union select '1

Dando paso a una inyección SQL :P

Código:

''' ----------------------------------------------------------------------------------------------------
''' <summary>
''' A pattern that matches an IPv4 address.
'''
''' For Example:
''' 127.0.0.1
''' </summary>
''' ----------------------------------------------------------------------------------------------------
Public Const Ipv4 As String = "^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])$"

En ese caso a tu clase deberías agregarle una opción booleana que indique si debe realizar una validación exacta o parcial, o sea con todo el contenido o parte de el en el caso que quieras validar ya que en tu código solo estás buscando una ip y no validando.

WHK:
Validación de URL:

Código:

^((mailto\:|(news|(ht|f)tp(s?))\:\/\/){1}\S+)$

Ejemplos:
Código:

http://www.google.cl/
ftp://www.google.cl/
mailto:demo@google.com

Pablo Videla:
Pero que buen aporte WHK, muchas gracias  ;-) ;-) ;-)

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior