En Notepad ++ puede usar un complemento llamado PythonScript para hacer el trabajo. Si instala el complemento, crear un nuevo guión de esta manera:
continuación, puede utilizar el siguiente script, en sustitución de las variables de expresiones regulares y funcionan como mejor le parezca:
import re
#change these
regex = r"[a-z]+sym"
function = str.upper
def perLine(line, num, total):
for match in re.finditer(regex, line):
if match:
s, e = match.start(), match.end()
line = line[:s] + function(line[s:e]) + line[e:]
editor.replaceWholeLine(num, line)
editor.forEachLine(perLine)
Este particular El ejemplo funciona al encontrar todas las coincidencias en una línea particular, luego aplica la función cada una de las coincidencias. Si necesita soporte multilínea, Python Script "Conext-Help" explica todas las funciones ofrecidas, incluidas las funciones pymlsearch/pymlreplace definidas en el objeto 'editor'.
Cuando esté listo para ejecutar su secuencia de comandos, primero vaya al archivo en el que desea que se ejecute, luego vaya a "Scripts>" en el menú Python Script y ejecute el suyo.
Nota: Si bien es probable que puedas utilizar la funcionalidad de deshacer de notepad ++ si te equivocas, podría ser una buena idea poner primero el texto en otro archivo para verificar que funcione.
P.S. Puedes 'buscar' y 'marcar' cada aparición de una expresión regular usando el diálogo de búsqueda integrado de notepad ++, y si pudieras seleccionarlos todos podrías usar la funcionalidad "Caracteres-> MAYÚSCULO" de TextFX para este problema en particular, pero yo ' No estoy seguro de cómo pasar del texto marcado o encontrado al texto seleccionado. Sin embargo, pensé que iba a publicar esto en caso de que alguien lo hace ...
Editar: En Notepad ++ 6.0 o superior, puede utilizar "PCRE (expresiones regulares compatibles con Perl) Buscar/Reemplazar" (fuente: http://sourceforge.net/apps/mediawiki/notepad-plus/?title=Regular_Expressions) Así esto podría haberse resuelto usando una expresión regular como (.)([A-z])(.+)
con un argumento de reemplazo como \1\U\2\3
.
¿Por qué son "Aquí" y "Realmente" apropiados? –