Notepad++: ¿Cómo puedo buscar (por línea) hasta un determinado carácter (en dicha línea)?

Notepad++: ¿Cómo puedo buscar (por línea) hasta un determinado carácter (en dicha línea)?

Tengo varias líneas que parecen

\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code

En cada línea, me gustaría reemplazar el código de [a {con mi propio código.

  • \nodesiempre está al principio de cada línea.

  • {esnoal final de la línea.

Ya encontré (aquí) y probé cosas como ^\\node.*\{o \\node.*\{, pero ambas producen el mismo resultado insatisfactorio: se marca todo el código hasta el último {del documento.

Respuesta1

En realidad, está completamente bien habilitar Wrap around. De hecho, te sugiero que lo hagas.

Dado que se garantiza que el fragmento estará al principio de la línea, puede utilizar un ^ancla de signo de intercalación ().

Lo siguiente me funciona:

Encontrar: ^\\node\[[^{]*\{; Reemplazar con:\\node[test{

Los ^anclajes al comienzo de la línea. \\node\[coincide con el texto \node[, después de escapar para caracteres especiales. [^{]*toma todos los caracteres excepto una llave abierta. (Tenga en cuenta que aquí {no es necesario escapar porque está en una clase de carácter). Luego \{toma la llave abierta.


Si ... Some code here ... puede contener llaves:

Encontrar: ^\\node\[.*\{([^{]*)$; Reemplazar con:\\node[test{$1

La primera parte es la misma. Luego, .*coincidirá con tantos personajes como sea posible. \{coincide con una llave de apertura, luego ([^{]*)$coincide y captura todos los caracteres hasta el final de la línea. Como [^{]se especifica, no coincidirá con ninguna llave de apertura, por lo que la anterior \{debe coincidir con la última {de la línea.

Respuesta2

En el cuadro de diálogo Buscar/Reemplazar, usando Buscar:nodo[.*{y reemplazar con:nodo[prueba{reemplaza exitosamente...algo de código aquí...conpruebaen cada línea.

Tienes que especificar las siguientes opciones:

  • NO marque "Envolver"
  • Marque "Expresión regular"
  • NO marque ". coincide con nueva línea" ingrese la descripción de la imagen aquí

información relacionada