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