Todavía estoy desarrollando mis habilidades de expresión regular, así que me estoy apoyando en la comunidad. Digo que quiero refactorizar el código "con Eclipse", pero he usado varios IDE cuyas funciones de búsqueda y reemplazo aceptan expresiones regulares. He creado expresiones generales con éxito para encontrar cosas, pero me pregunto si puedo tomar partes del patrón combinado y usarlo en el valor de reemplazo. Por ejemplo, tengo muchas funciones de prueba nombradas con el siguiente patrón "" testSomeFunction1(), testSomeFunction2(), testAnotherFunction() "Realmente me gustaría que se denominen" test_someFunction1(), test_someFunction2(), test_anotherFunction() "The Find: is" test [AZ] ", pero ¿con qué lo uso para Reemplazar con :?" test_ [az] "literalmente está reemplazando? Quizás, no puedo usar una declaración de expresiones regulares en el reemplazo?Cómo usar expresiones regulares con el código de búsqueda/reemplazo de Eclipse para refactorizar el código
Respuesta
For el texto de la muestra que has enviado, la expresión de búsqueda deberá ser test([a-z]*)
y la sustitución debe ser test_$1
.
Esto hace uso de grupos capturados referenciados por $i
i
, donde está el índice del grupo capturado (0
es la expresión completa). se mayo También quiero considerar el caso de la cadena de búsqueda ya que el texto como permuteString
también coincidirá con la expresión si la búsqueda no distingue entre mayúsculas y minúsculas.
También debe ser capaz de utilizar el contenido de ayuda en los campos de texto del cuadro de diálogo Find/Replace
para ver cuáles son las opciones disponibles para las expresiones regulares (una vez que se ha marcado la casilla de Regular expressions
) - pulse CTRL +ESPACIO
¡Gracias! Ayuda a conocer realmente los términos para buscar "grupos de referencias retrospectivas" Cuanto más aprendo, más me doy cuenta de lo mucho que no sé. –
De nada. Encontré el [tutorial de expresiones regulares de Java] (http://download.oracle.com/javase/tutorial/essential/regex/) como un buen punto de partida; es específico de Java, por supuesto, pero muchos conceptos son bastante generales. . –
Asegúrese de consultar el operador de expresión regular \ C, que creo que es específico de Eclipse. Se ahorra mucho trabajo al reemplazar la misma palabra en mayúsculas, minúsculas y variantes de camelCase. Por ejemplo, si el texto original es:
SomeObject someObject = SOMEOBJECT;
luego hacer un "Reemplazar todo", reemplazando
someObject
con
\CanotherObject
le conseguirá:
AnotherObject anotherObject = ANOTHEROBJECT;
que es probablemente lo que quieres
- 1. Reformatear el código con Expresiones regulares
- 2. Cómo refactorizar el código de prueba junto con el código de producción?
- 3. API para refactorizar programáticamente el código Java
- 4. Javascript expresiones regulares de código postal canadiense
- 5. Problema de deserialización con NetDataContractSerializer después de refactorizar el código
- 6. herramientas de cobertura de código para expresiones regulares?
- 7. Refactorizar/reescribir el código o continuar?
- 8. ¿Cómo refactorizar el código heredado de manera efectiva y eficiente?
- 9. ¿Puedo usar expresiones regulares para encontrar el índice de X?
- 10. ¿Cómo puedo refactorizar el código fuente de Clojure?
- 11. Para usar o no usar expresiones regulares?
- 12. ¿Cómo puedo refactorizar el código fuente de C++ usando emacs?
- 13. ¿Hay alguna herramienta de línea de comando de código abierto para refactorizar el código de Java?
- 14. Plugin de Eclipse para marcar el código
- 15. Herramienta para refactorizar expresiones booleanas
- 16. C# refactorizar código si-else
- 17. de expresiones regulares (RegEx) Para números de teléfono con código de país Compruebe
- 18. Cómo usar expresiones regulares para utf8 en ruby
- 19. ¿Cómo usar el control de versiones con el código VBA?
- 20. ¿Cómo puedo usar expresiones regulares con Mongodb ODM de Doctrine?
- 21. ¿Cómo podría refactorizar este condicional para usar el polimorfismo?
- 22. Usar expresiones regulares para comparar números
- 23. ¿Ofuscar el código en Eclipse?
- 24. Cómo refactorizar este código LINQ duplicado?
- 25. Cómo refactorizar código/esquema DB con código EF 4 primero - Migración de datos
- 26. ¿Cómo puedo usar el código C++ para interactuar con PHP?
- 27. ¿Cómo usar expresiones regulares en MySQL?
- 28. Cómo refactorizar el tipo de variable en Eclipse?
- 29. ¿Cómo debería refactorizar este código Haskell para hacerlo más elegante?
- 30. expresiones regulares en Javascript con jQuery Contiene expresiones regulares extensión
Tengo curiosidad: ya que tienes una suposición sobre lo que tienes que hacer, ¿por qué no lo pruebas en Eclipse? – Sandman
Gracias Sandman. Debería haber sido claro. Ya lo probé y fallé. De ahí el motivo para pedir ayuda. –
¿Ha intentado capturar y retroceder grupos como se muestra en mi respuesta? –