urls tutorial python regex django capturing-group

python - tutorial - url django



¿Qué significa este django regex? `? P` (4)

En django, los grupos de captura nombrados se pasan a su vista como argumentos de palabra clave.

Los grupos de captura sin nombre (solo un paréntesis) se pasan a su vista como argumentos.

El? P es un grupo de captura con nombre, a diferencia de un grupo de captura sin nombre.

docs.python.org/library/re.html

(?P<name>...) Similar a paréntesis regulares, pero la subcadena emparejada por el grupo es accesible dentro del resto de la expresión regular a través del nombre del nombre del grupo simbólico. Los nombres de grupo deben ser identificadores de Python válidos, y cada nombre de grupo debe definirse solo una vez dentro de una expresión regular. Un grupo simbólico también es un grupo numerado, como si el grupo no tuviera nombre. Entonces, el grupo llamado id en el ejemplo a continuación también puede ser referenciado como el grupo numerado 1.

Tengo la siguiente expresión regular en mi urls.py y me gustaría saber lo que significa. Específicamente la porción (?P<category_slug> de la expresión regular.

r''^category/(?P<category_slug>[-/w]+)/$


Nuevo en la versión 3.6.

(?P<name>...) Similar a paréntesis regulares, pero la subcadena que coincide con el grupo es accesible a través del nombre del nombre del grupo simbólico. Los nombres de grupo deben ser identificadores de Python válidos, y cada nombre de grupo debe definirse solo una vez dentro de una expresión regular. Un grupo simbólico también es un grupo numerado, como si el grupo no tuviera nombre.

copiar pegar desde Python3Regex


(?P<category_slug>) crea un grupo de coincidencia llamado category_slug .

La expresión regular coincide con una cadena que comienza con la category/ y luego con una combinación de caracteres alfanuméricos, el guión y el subrayado _ , seguido de una barra al final.

Ejemplos de URL aceptadas por la expresión regular:

  • categoría / foo /
  • categoría / foo_bar-baz /
  • categoría / 12345 /
  • category / q1e2_asdf /

(?P<name>regex) - Los corchetes agrupan la expresión regular entre ellos. Capturan el texto que coincide con la expresión regular dentro de ellos que se puede referenciar por el nombre entre los corchetes afilados. El nombre puede consistir en letras y dígitos.

Copie y pegue desde: http://www.regular-expressions.info/refext.html