Regular-Expression
正則表達式通過映射替換第二個模式0−90−90-9到q-pq−pq-p在蓋尼?
我想
123 456 789
用Geanyq23 r56 u89
正則表達式代替。到目前為止,我可以使用多個查找和替換模式來做到這一點,如下所示:... Find: `(\D|^)4` Replace: `\1r` Find: `(\D|^)5` Replace: `\1t` ...
我想將這 10 個語句合併為一個使用
\2
規則的映射[1234567890] -> [qwertyuiop]
。我怎麼能在geany中做到這一點?
我認為這不能用單個正則表達式來完成,因為無法查看擷取的組內部。但是 Perl 可以在一行中做到這一點,因為它允許在替換中執行音譯:
$ echo 123 456 789 | perl -pe 's/\b[0-9]/ $& =~ tr,1-90,qwertyuiop,r /ge' q23 r56 u89
(這
s/pattern/replacement/
是一個sed
-style find+replace 操作符,\b
匹配一個單詞的邊框。thee
final/
使替換成為一個表達式,其中的片段tr///
用於音譯$&
,包含匹配文本的變數。任意字元可以用作分隔符tr
,所以逗號用於不與外部運算符衝突。)當然,如果您想在 Geany 中執行此操作,這並沒有太大幫助。