Tente isto
Primeiro, ative as expressões regulares
link
Localizar: (\$\d+)(.*Take ')(.*)(')
Substitua:
Captura
Existem quatro grupos para esta expressão
Entrada: $250 'Hello 1' Take '____'
Grupo 1
(\$d+)
= $250
- isso diz começar com $ (escapou para ser literal) e depois dígitos ( \d
) 1 ou mais, para parar no último dígito se é 3 ou 15. No seu exemplo, eles estavam no início da linha, mas eu não assumo isso. Se, no entanto, eles iniciarem a linha, convém adicionar um ^
, tornando-o ^(\Sd+)
Grupo 2
(.*Take ')
= 'Hello 1' Take '
- a expressão diz .*
, o que significa qualquer caractere qualquer número de vezes, por isso é necessário levar tudo até ver Take
e, em seguida, pega o Take '
porque eu escrevi isso e pára aí.
Grupo 3
(.*)
= - ____
isso leva o espaço interno, basicamente, leva algo 0 ou mais vezes. Neste caso, é tudo sublinhado, mas escrito, pegaria tudo e qualquer coisa que você tenha lá. Ele pegaria tudo no final das linhas, exceto que eu tenho algo a seguir, que diz quando parar
Grupo 4
(')
= - '
isto diz ao grupo 3 para parar na marca '
. ele também captura a marca '
em seu próprio grupo para reorganizar.
Substituição
Os grupos são numerados a partir de seus parênteses abertos, mas neste caso, tudo é linear, sem aninhamento, por isso é bastante óbvio.
deixaria tudo como está. Mas nós queremos substituir o terceiro grupo pelo primeiro grupo, então ....
faz o truque. Um dos pontos-chave aqui foi garantir que capturássemos o quarto grupo para substituí-lo no final. Além disso, nada muito complicado.
Execução
Então, basta configurar isso em sua substituição de localização e, em seguida, pressionar substituir tudo, e isso deverá resolver você.
Editar
Eu notei que você queria retirar o $ em seu substituto, então você precisa fazer algumas pequenas alterações nas minhas sugestões iniciais, embora seja basicamente o mesmo.
Entrada: $250 'Hello 1' Take '____'
Localizar: (\$)(\d+)(.*Take ')(.*)(')
Substitua: