の検索と置換機能は知ってnano
いますが、マッチングと置換 (特に、一致の一部を使用する置換) に正規表現を使用できますか? もしそうなら、使用されている構文の例をいくつか提供できますか (マッチングと置換の両方)?
私は Perl スタイルの正規表現に慣れてきましたが、テキスト エディターが独自の構文を思いつく場合があることに気付きました。
meta
私のバージョンの nano には、文字 +を使用して正規表現検索に切り替えるオプションがありますR
。Windows 上の cygwin では、メタキーはalt
であるため、ctrl
+を押し\
て検索と置換モードに入り、alt
+r
を押して正規表現検索に切り替えます。
グローバル ファイルに次のエントリを追加するか、コメントを外す必要がありnanorc
ます (私のマシンでは でした/etc/nanorc
)。
set regexp
次に、新しい端末を起動してCTRL+を押し/て、正規表現を認識するようになった置換を行います。
検索conf->(\S+)
:
と置換する\1_conf
を押しa
てすべてのオカレンスを置き換えます。
最終結果:
nanoで使用される正規表現の形式/表記法「拡張正規表現」、つまり、によって使用されるPOSIX拡張正規表現。これには、メタ文字、、、、、、、、、、、、、、、などの文字クラスが含まれます。、、、、、、、、、、、、および。_ _ _ _ _ _ _egrep
sed -r
.
[
]
^
$
(
)
\1
\9
*
{
}
?
+
|
[:alnum:]
[:alpha:]
[:cntrl:]
[:digit:]
[:graph:]
[:lower:]
[:print:]
[:punct:]
[:space:]
[:upper:]
[:xdigit:]
man 7 regex
より完全なドキュメントについては、LinuxまたはOS Xのマニュアルページを参照しman 7 re_format
てください。このページにも同じ情報が記載されている場合があります:https ://en.wikipedia.org/wiki/Regular_expression#POSIX_basic_and_extended
残念ながら、nanoでは、複数の行にまたがる何かを一致させる方法はないようです。