Respuesta
respuesta rápida: coincidir con una cadena que consta de un solo carácter, en que el carácter es alfanumérico (letras, números) un guión bajo (_
) o un asterisco (*
).
Detalles:
- El "
\w
" significa "cualquier carácter de palabra", que por lo general significa alfanuméricos (letras, números, independientemente del caso), además de subrayado (_) - El "
^
" " ancla "al principio de una cadena y"$
"" ancla "Al final de una cadena, lo que significa que, en este caso, la coincidencia debe comenzar al principio de una cadena y finalizar al final de la cadena . []
significa una clase de caracteres, lo que significa "coincidir con cualquier carácter contenido en la clase de caracteres".
También vale la pena mencionar que la normalidad citando y escapar de las reglas para las cadenas hacen que sea muy difícil entrar en expresiones regulares (tendrían que ser escapado con barras invertidas adicionales todas las barras invertidas), por lo que en Python no es una notación especial que tiene sus propias reglas de cotización especiales que permiten que todas las barras invertidas se interpreten correctamente, y para eso sirve el "r
" al principio.
Nota: Normalmente un asterisco (*
) significa "0 o más de lo anterior", pero en el ejemplo anterior, se hace no tienen ese significado, ya que el asterisco es dentro de la clase de caracteres , por lo que pierde su "especialidad".
Para obtener más información sobre expresiones regulares en Python, las dos referencias oficiales son re module, Expresión regular HOWTO.
Esto es necroposting, pero por el bien de los lectores futuros, \ w es el equivalente de Python de la clase: [^ a-zA-Z0-9_]. Como puede ver aquí, al menos para Python 2.7.x a 3.4.y, '*' no entra en eso. Si lo hiciera, la clase de expresión regular [\ w *] introduciría una repetición inútil de * como carácter literal (es decir, sin significado especial porque está incluido dentro de los corchetes que denotan una clase). – Cbhihe
En Python 3, la definición de '\ w' tiene en cuenta las definiciones de caracteres Unicode de forma predeterminada, por lo que es mucho más amplio que simplemente' [^ a-zA-Z0-9_] '; ver https://docs.python.org/3/library/re.html#module-re para los detalles sangrientos. – Bevan
Desde el comienzo de esta línea, "Any number of word characters (letter, number, underscore)" hasta el final de la línea.
No estoy seguro de por qué está entre corchetes, ya que los corchetes (por ejemplo, "(" y ")") son correctos si desea que se devuelva el texto coincidente.
\ w hace referencia a 0 o más caracteres alfanuméricos y el guión bajo. el * en su caso es también dentro de la clase de caracteres, por lo que [\ w *] se correspondería con todos [a-zA-Z0-9_ *] (el * se interpreta literalmente)
Ver http://www.regular-expressions.info/reference.html
Para Cita:
\ d, \ w y \ s --- Clases de caracteres abreviados que coinciden con los dígitos, los caracteres de las palabras y los espacios en blanco. Se puede usar dentro y fuera de las clases de caracteres.
Editar corrige en respuesta al comentario
No en la expresión regular anterior. Dado que '' 'está dentro de la clase de caracteres, se convierte en miembro de la clase. –
\ w es equivalente a [a-zA-Z0-9_] No entiendo el * o después de que el [] alrededor de él, porque \ w ya es una clase y * en las definiciones de clase no tiene sentido.
Como dijo exhuma, \ w es cualquier carácter de clase de palabra (alfanumérico como lo aclara Jonathan).
Sin embargo, ya que está entre corchetes que coincidirá:
- un solo carácter alfanumérico o
- un asterisco (*)
Así que toda la expresión regular coincide:
- el comienzo de una línea (^)
- seguido de un carácter alfanumérico único o un asterisco
- seguido por el final de una línea ($)
por lo que el siguiente coincidirían:
blah
z <- matches this line
blah
o
blah
* <- matches this line
blah
Como dijimos arriba \ w significa cualquier palabra. por lo que podría utilizar esto en el contexto de continuación
view.aspx?url=[\w]
cual significa que puede tener cualquier palabra como el valor de la "url =" parámetro
\ w solo coincide con un solo carácter, no con una palabra completa. Necesitaría un cuantificador como +, * o {n, m} para hacer coincidir una palabra completa (es decir, más de un carácter) –
- 1. ¿Qué significa [^] en expresiones regulares de Javascript?
- 2. ¿Qué significa \ d + en términos de expresiones regulares?
- 3. ¿Qué significa $ 1, $ 2, etc. en Expresiones regulares?
- 4. ¿Qué significa regular en expresiones regulares/"expresión regular"?
- 5. diferencia entre \ w y \ b metaleros de expresiones regulares
- 6. ¿Por qué las expresiones regulares se llaman expresiones "regulares"?
- 7. ¿Qué significa var {u, v, w} = x; significa en Javascript?
- 8. ¿Composición de expresiones regulares?
- 9. ¿Qué son buenas expresiones regulares?
- 10. Operador Tilde en expresiones regulares
- 11. ¿Qué significa la expresión regular \ | (? = \ W =>)?
- 12. Partido hasta x expresiones regulares o y expresiones regulares
- 13. Expresiones regulares en OCaml
- 14. Expresiones regulares en Puntuación
- 15. expresiones regulares (expresiones regulares), reemplace la segunda aparición en javascript
- 16. expresiones regulares en Javascript con jQuery Contiene expresiones regulares extensión
- 17. fusionar dos expresiones regulares
- 18. Expresiones regulares en findstr
- 19. Expresiones regulares en C
- 20. expresiones regulares en Vimscript
- 21. Expresiones regulares en J2ME
- 22. :? Se puede hacer en expresiones regulares
- 23. En expresiones regulares, ¿qué es un retroceso/referencia inversa?
- 24. Expresiones regulares difusas
- 25. Propósito de [^ \ x20- \ X7E] en expresiones regulares
- 26. Validar expresiones matemáticas usando expresiones regulares?
- 27. Vincular texto con expresiones regulares en Java
- 28. Agrupación en las expresiones regulares de haskell
- 29. ¿Qué significa "perezoso" y "codicioso" en el contexto de las expresiones regulares?
- 30. Separación de cadenas en el formato requerido, manera Pythonic? (Con o w/o expresiones regulares)
¿Quieres decir 'r "^ \ w * $"' ? –
Siguiendo los comentarios de Laurence, esto realmente no tiene ningún significado especial sin las comillas. – foosion
Hola @ S.Lott: ¿Cómo sabes que esto es tarea? –