En IRB, si paso una cadena como "/ domain/path" a Regexp.escape, simplemente la devuelve igual. Pensé que se supone que las barras diagonales se escaparon con una barra invertida. ¿Me estoy perdiendo de algo?¿Regexp.escape no escapa a las barras diagonales?
12
A
Respuesta
23
Además, la única razón por la que necesitaría escapar /
caracteres es porque es su delimitador para la expresión regular, si especifica otro tipo de delimitadores (o crea una instancia de la clase Regexp) no tendrá esto cuestión:
/^hello\/world$/ # escaping '/' just to say: "this is not the end"
%r"^hello/world$" # no need for escaping '/'
Regexp.new('^hello/world$') # no need for escaping '/'
0
Regexp.new(Regexp.escape('/domain/path'))
=> /\/domain\/path/
O
Regexp.new(Regexp.escape('domain/path'))
=> /domain\/path/
Cuestiones relacionadas
- 1. json_encode() escapa barras diagonales
- 2. Haciendo JSON no escapa barras diagonales
- 3. ¿Debo eliminar las barras diagonales en metaetiquetas?
- 4. Eliminar barras diagonales
- 5. ¿Cómo obtengo .NET's Path.Combine para convertir las barras diagonales en barras diagonales inversas?
- 6. La conversión de barras diagonales inversas en barras diagonales mediante javascript no funciona correctamente?
- 7. En PHP, ¿necesito escapar de las barras diagonales inversas?
- 8. nginx: Cómo mantener dobles barras diagonales en las URL
- 9. Eliminar todas las barras diagonales inversas de PHP urldecoded string
- 10. ¿Cómo puedo escapar de las barras diagonales inversas en JSON?
- 11. ¿Cómo conseguir que asp.net no desactive automáticamente las barras diagonales escapadas en las URL?
- 12. ¿Todavía necesitamos barras diagonales en HTML5?
- 13. nginx y barras diagonales en $ document_root?
- 14. JavaScript y barras diagonales en cadenas
- 15. Agregar barras diagonales inversas sin escapar [Python]
- 16. ahorro a las propiedades de archivo escapa:
- 17. ¿Por qué desaparecen las barras diagonales inversas cuando se ejecutan a través del eco?
- 18. UrlPathEncode no escapa espacios
- 19. javascript json.stringify no se escapa?
- 20. Eliminar barras diagonales inversas de una cadena en Python
- 21. Ignorar caracteres de escape (barras diagonales inversas) en cadenas R
- 22. Citando barras diagonales inversas en literales de cadena Python
- 23. Uso de barras diagonales inversas en abreviaturas vim
- 24. ¿Hay algo extraño con PowerShell y barras diagonales?
- 25. URL codificada barras diagonales que rompen mi aplicación CodeIgniter
- 26. regex: ¿cómo escapar barras diagonales inversas y caracteres especiales?
- 27. Sustitución de barras invertidas con barras diagonales con str_replace() en php
- 28. ¿Cómo usar params con barras diagonales con Sinatra?
- 29. ¿Por qué las barras diagonales inversas previenen la expansión de alias?
- 30. ¿Hay algún inconveniente en el uso de barras diagonales dobles en las URL?
Para los que vienen aquí porque Rubular.com dice '" Las barras hacia adelante deben ser escapadas. "', Es porque Rubular.com está codificado para usar ese delimitador '/' del que habla @Roman Gonzalez en esta respuesta. Entonces, en Rubular.com, sí lo necesitas, pero 'Regexp.escape' no necesita hacerlo. –