Estoy tratando de encontrar y reemplazar caret open_parentheses some_content close_parentheses
(es decir. ^(.*)
) con caret open_curly_bracket the_same_content close_curly_bracket
(es decir. ^{.*}
pero tengo problemas
1) No entiendo cómo conservar el contenido de comodín coincidente .*
2) No veo como formular el secuencia de escape para especificar paréntesis y paréntesis.
He estado pasando por esta Página por un poco y han intentado lo siguiente
%s/^(*)/^{*} /gc
%s/^(.*)/^{.*} /gc
%s/^/(.*/)/^{.*} /gc
Respuestas:
Todos esos personajes tienen una funcionalidad especial dependiendo de si un personaje de escape los precede. Esto depende del carácter de si una secuencia de escape que precede al carácter con una funcionalidad especial lo utiliza (es decir, un
^
ejecuta una funcionalidad especial, un\^
no, donde un(
hace no ejecutar una funcionalidad especial, y una\(
hace.La expresión que buscas es la siguiente
La expresión literalmente estado, coincide con una signo de intercalación seguido de un paréntesis abierto seguido por Cualquier personaje excepto un close_parenthesis seguido de un paréntesis cercano y reemplazar con una a signo de intercalación seguido de un open_curly_bracket seguido por el contenido encontrado al buscar any_character_except a close_parenthesis (es decir, el contenido entre
\(
y\)
) seguido de una close_curly_bracketNota: existen otros enfoques también
fuente
*
por\{-}
para que coincida con pocos.
como sea posible. Ver:help /\{-
. El otro es reemplazar..
por[^)]
para que coincida con cualquier cosa no una)
. Ver:help /[]
.¿Realmente estás buscando el personaje de caret?
El caret generalmente significa comenzar a buscar el patrón al principio de una línea.
Asumiendo que eres ...
algo de texto ^ (más texto) y más ^ (más texto) y más
--Y-- tú lo que cambió a:
algo de texto ^ {más texto} y más ^ {más texto} y más
Entonces, use:
: s - \ ^ (([^)] +)) - ^ {\ 1} -gc
Si desea que la búsqueda y el reemplazo abarquen todo el archivo, use:
:% s - \ ^ (([^)] +)) - ^ {\ 1} -gc
El% significa todo el archivo.
fuente