Geanyで[0-9]を[qp]にマッピングして2番目のパターンを置き換える正規表現?

Geanyで[0-9]を[qp]にマッピングして2番目のパターンを置き換える正規表現?

123 456 789以下を使ってq23 r56 u89交換したいと思います。ジェニー正規表現。これまでは、次のような複数の検索パターンと置換パターンを使用してこれを行うことができます。

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


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

\2ルールマッピングを通じて、この10個の文を一つにマージしたいと思います[1234567890] -> [qwertyuiop]

Geanyでどうすればいいですか?

ベストアンサー1

キャプチャグループの内部を見る方法がないので、単一の正規表現ではこれを行うことはできません。ただし、Perlは音訳を通常どおり実行できるようにするため、これを1行で実行できます。

$ 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内でこれを行う場合はあまり役に立ちません。

おすすめ記事