Me preguntaba cuándo se debe usar s///
sobre tr///
cuando se trabaja con expresiones regulares en Perl?¿Cuál es la diferencia entre tr /// y s /// cuando se usa regex en Perl?
Respuesta
s///
es para la sustitución:
$string =~ s/abc/123/;
Esto reemplazará el primer "abc" se encuentra en $string
con "123".
tr///
es para transliteración:
$string =~ tr/abc/123/;
Esto reemplazará todas las apariciones de "a" dentro $string
con "1", todas las ocurrencias de "b" con "2", y todas las apariciones de "c" con "3".
¡No olvide nuestro putter de golf favorito, 'y ///'! – Daenyth
De perlop: Quote and Quote-like Operators
Tenga en cuenta que no hace tr regulares clases de caracteres expresión como \ d o [: lower:]. El operador tr es no equivalente a la utilidad tr (1). Si desea asignar cadenas entre mayúsculas/minúsculas, consulte lc y uc, y en general, considere usar el operador s si necesita expresiones regulares .
tr///
no es un operador de expresiones regulares. Es adecuado (y más rápido que s///
) para las sustituciones de un solo carácter con otro solo carácter, o (con el modificador d
) sustituyendo un solo carácter con cero caracteres.
s///
se debe utilizar para algo más complicado que los casos de uso estrecho de tr
.
- 1. En Perl, ¿cuál es la diferencia entre s/^ \ s + // y s/\ s + $ //?
- 2. ¿Cuál es la diferencia entre [\ s \ S] *? y. *?
- 3. ¿Cuál es la diferencia entre vim regex y regex normal?
- 4. En Python 2, ¿cuál es la diferencia entre '/' y '//' cuando se usa para la división?
- 5. ¿Cuál es la diferencia entre == y =: = en Erlang cuando se usa con términos en general?
- 6. ¿Cuál es la diferencia entre 'eq' y '= ~' en Perl?
- 7. ¿Cuál es la diferencia entre open y sysopen en Perl?
- 8. ¿Cuál es la diferencia entre BAREWORD y * BAREWORD en Perl?
- 9. ¿Cuál es la diferencia entre grep y map en Perl?
- 10. ¿Cuál es la diferencia entre mock() y stub() cuando se usa Mockito?
- 11. ¿Cuál es la diferencia entre 'incluye', 'extiende' y 'usa'?
- 12. ¿Cuál es la diferencia entre Perl modules autodie y Fatal?
- 13. Cuál es/son la (s) diferencia (s) entre MSBuild y TFSBuild
- 14. ¿Cuál es la diferencia entre "perl test.pl" y "./test.pl"?
- 15. Cuándo se crea un app.config, cuando se usa un app.exe.config y cuál es la diferencia
- 16. ¿Cuál es la diferencia entre {0} y ""?
- 17. ¿Cuál es la diferencia entre llamar Double.valueOf (String s) y new Double (String s)?
- 18. ¿Cuál es la diferencia entre comillas simples y dobles en Perl?
- 19. ¿Cuál es la diferencia entre Double.valueOf (String s) y Double.ParseDouble (String s)?
- 20. ¿Cuál es la diferencia entre get() y eq() en jquery?
- 21. Cuál es la diferencia entre $ y jQuery
- 22. En Perl, ¿cuál es la diferencia entre "si se define $ count" y "if $ count"?
- 23. ¿Cuál es la diferencia entre módulo y distribución en CPAN?
- 24. ¿Cuál es la diferencia entre ".equals" y "=="?
- 25. ¿Cuál es la diferencia entre dict() y {}?
- 26. Cuál es la diferencia entre $ (...) y `...`
- 27. En perl, ¿cuál es la diferencia entre $ DB :: single = 1 y 2?
- 28. ¿Cuál es la diferencia entre .closest() y .parents ('selector')?
- 29. ¿Cuál es la diferencia entre \ 1 y $ 1 en una expresión regular de Perl?
- 30. ¿Cuál es la diferencia entre $ get y $ find en JavaScript?
Debe aceptar la respuesta correcta (La casilla de verificación junto a ella) – Daenyth