2012-06-28 9 views
7

Vi una expresión regular para que coincida con una URL: /^\/users?(?:\/(\d+)(?:\.\.(\d+))?)?/. Estoy confundido por el uso de ?: al comienzo de cada coincidencia de grupo.¿Cuál es el significado de `?:` En la expresión regular

¿Cuál es el significado de eso?

+0

¿Qué biblioteca de expresiones regulares está utilizando? – svick

+1

svick: ¿Realmente importa? Claramente compatible con Perl. (Esta sintaxis se introdujo en Perl 5.) – tripleee

+0

@svick: es una extensión muy adoptada de la especificación POSIX. –

Respuesta

1

leer a través de: http://docs.python.org/library/re.html

(:? ...)

Una versión no captura de paréntesis regulares. Coincide con cualquier expresión regular que esté entre paréntesis, pero la subcadena que coincide con el grupo no se puede recuperar después de realizar una coincidencia o hacer referencia a ella más adelante en el patrón.

Cuestiones relacionadas