Substitua (vírgula) entre colchetes no Notepad ++

0

Eu quero substituir todas as instâncias de ,(vírgula) em uma seqüência de caracteres como:

word, synonym, synonym (definition 1, definition2)

Eu não quero tocar em nada antes (e não quero alterar nenhum texto dentro de colchetes - tudo que eu preciso é substituir todas as ocorrências da vírgula pelo ponto-e-vírgula INSIDE dos colchetes, então eu recebo algo como:

word, synonym, synonym (definition 1; definition2)

Eu tentei com \(.*[\, ].*\)capturar tudo o que está entre parênteses, mas eu não sei como definir o Notepad ++ para substituir apenas a vírgula e nada mais.

Michal
fonte

Respostas:

3

Então você quer substituir, entre parênteses para um ponto e vírgula?

Tente isto:

Find: \((.*)(,)(.*)\)
Explanation: \(     - Literally capture a left bracket
             (.*)   - Captures everything and groups it until...
             (,)    - Captures the comma and groups it
             (.*)   - Captures everything and groups it until...
             \)     - ... the literal right bracket.

Replace With: \($1;$3\)
Explanation:  We replace everything caught above, meaning we need to put in...
              \(    - The literal left bracket again
              $1    - The first group we captured before (everything before ,)
              ;     - Our replacement for the comma, a semi colon
              $3    - The third group we captured before (we skipped 2, the comma, and got everything after)
              \)    - Finally, our literal right bracket again

Eu poderia ter tornado isso um pouco mais preciso e feito em vez disso:

Find: \((.*)(?:,)(.*)\)
Explanation: (?:) means the group doesn't capture, so we now replace with:
Replace With: \($1;$2\)

No modo REGEX, claro.

Espero que isto ajude.

Jonno
fonte
Ótimo, funcionou :)
Michal
Você poderia explicar a sintaxe para mim (se você encontrar algum tempo livre)? Eu sou regex wannabe mas ainda é um longo caminho a percorrer :(
Michal
Editado meu comentário com explicações - se você pudesse marcar como a resposta e upvote se funcionou e ajudou você :)
Jonno