regex - regulares - Cómo cambiar el caso de las letras en la expresión regular en Notepad++
notepad++ regular expression examples (1)
Find what: ^(/S+)(?=/s*-)
Replace with: /U$1
¿Qué hace esto? El patrón de búsqueda coincide con tantos caracteres no espaciales al principio de una línea como sea posible ( /S+
) y los captura en la variable $1
debido a los paréntesis. Después de eso sigue un lookahead que afirma que esta "palabra" es seguida por un guión (sin nada más en el medio). Esta anticipación en realidad no está incluida en la coincidencia, por lo que no será eliminada / reemplazada.
El reemplazo comienza con /U
que dice "dar salida a todo después de aquí en mayúsculas a menos que detenga esto con una /E
". Luego, $1
devuelve lo que igualamos con /S+
(en el term
su caso). Pero en mayúsculas
Asegúrese de actualizar a Notepad ++ 6. Antes, las expresiones regulares eran un poco peculiares.
Aquí está la documentación de lo que es posible en la cadena de reemplazo.
EDITAR:
Supongo que tus líneas reales pueden ser un poco más interesantes que tener solo una palabra al principio de la línea y luego el guión. Pero de tu ejemplo dado no puedo decirlo. Pero para hacer esto por un número arbitrario de palabras e ignorar los espacios en blanco al comienzo de la línea (siempre que haya un guión en algún lugar de la línea), podría hacer algo como esto:
Find what: ^(([ /t]*[^/s-]+)*)(?=[ /t]*-)
Pero sin ejemplos de entrada reales, me temo que tiene que averiguar el patrón de búsqueda adecuado usted mismo.
Por ejemplo, hay muchas líneas como esta: "término - definición". Como las expresiones regulares en el Bloc de notas ++ se pueden hacer para el "término" se escribieron en letras mayúsculas (mayúsculas) - ¿TÉRMINO?
¡Gracias!