Geany에서 [0-9]를 [qp]에 매핑하여 두 번째 패턴을 바꾸는 정규식?

Geany에서 [0-9]를 [qp]에 매핑하여 두 번째 패턴을 바꾸는 정규식?

123 456 789다음을 사용하여 q23 r56 u89교체 하고 싶습니다 .제니정규식. 지금까지는 다음과 같은 여러 찾기 및 바꾸기 패턴을 사용하여 이 작업을 수행할 수 있습니다.

...      
Find:    `(\D|^)4`    
Replace: `\1r`    


Find:    `(\D|^)5`    
Replace: `\1t`    
...

\2규칙 매핑을 통해 이 10개의 명령문을 하나로 병합 하고 싶습니다 [1234567890] -> [qwertyuiop].

Geany에서 어떻게 할 수 있나요?

답변1

캡처 그룹 내부를 볼 수 있는 방법이 없기 때문에 단일 정규식으로는 이 작업을 수행할 수 없다고 생각합니다. 그러나 Perl은 음역이 대체적으로 실행될 수 있도록 허용하기 때문에 이 작업을 한 줄로 수행할 수 있습니다.

$ echo 123 456 789 | perl -pe 's/\b[0-9]/ $& =~ tr,1-90,qwertyuiop,r /ge'
q23 r56 u89

( 는 단어 테두리와 일치하는 - 스타일 찾기+바꾸기 연산자 s/pattern/replacement/입니다 . 마지막 연산자는 대체를 표현식으로 만들고 그 일부는 음역 , 즉 일치하는 텍스트를 포함하는 변수에 사용됩니다. 모든 문자를 사용할 수 있으므로 사용 쉼표는 외부 연산자와 충돌하지 않음을 나타냅니다.sed\be/tr///$&tr

물론, Geany 내에서 이 작업을 수행하려는 경우에는 별로 도움이 되지 않습니다.

관련 정보