改行文字に一致する正規表現は何ですか?

Emacs正規表現で、\nが改行文字\n

  1. $が、改行文字と改行文字の直前の文字の間の位置に一致することを修正しますか。例:文字列abc\nの場合、$cと?
  2. \nに一致する正規表現は何ですか?

コメント

  • 最低限の実用的な例を教えていただけますか?'何かが足りないかもしれませんが、(re-search-forward "\n")私にとっては問題なく動作します。
  • ファイルは改行に\ r \ nを使用する可能性があり、正規表現に\ rを含める必要がある可能性があるため、abc\r\n abc\nの代わりに。
  • @Dan:CMとMxは両方とも\nと一致します。 nへ。バッファが基本モードになっています。これはすべてのテキストで発生するため、改行または文字nのテキストは実用的な例です
  • @Jordon:CMとMxは両方とも\r\nからrn
  • @Tim、はい。インタラクティブに入力する場合は' dは、引用符で囲まれた挿入、Cq Cm、およびCqCjをそれぞれ実行する必要があります。 lisp文字列に入力する場合は\ r \ nを入力できます。

回答

  1. はい。 $は、行末の後に続く改行文字ではなく、行末に一致します。
  2. C-M-s C-q C-jを実行します。 C-qquoted-insertのデフォルトのバインディングであり、ミニバッファーでも機能します。この式は文字通り改行を検索します:C-j

コメント

  • 2。 Emacs正規表現では改行文字をエスケープシーケンスとして表すことができないと言っていますか?
  • インタラクティブに改行を検索するか、elispを介して改行を検索するか(例:(looking-at "^J") ^ J C-q C-j)によって挿入され、C-q C-jアプローチは常に機能します。ただし、同じlooking-at \nのようなelisp関数を使用する場合も機能します。 M-: (looking-at "\n") RETは、カーソルが行の終わりにある場合にtrueと評価されます(その後、'改行があります)。
  • ちなみに、regexp-builderを使用している場合、'は。
  • @Nsukami_:CMとMxはどちらも[\n]nに一致します。

回答

ダンがコメントしているように、改行に一致する正規表現は改行です

elispで引用符で囲まれた文字列の改行を"\n"として表すことができます。これには特別な追加の regexp固有構文はありません。他のリテラル文字とまったく同じように、改行を使用するだけです。

regexpをインタラクティブに入力する場合 次に、kaushalmodiの回答が指摘しているように、 Cq Cj を使用して改行を挿入できます。

コメント

  • ありがとう!emacs(elispではない)では、Cq Cjが改行文字に一致する唯一の方法ですか?\nは'改行文字と一致しません。
  • はい。具体的には、改行を入力するが、入力時に改行文字と一致する唯一の方法です。 regexpはインタラクティブに(改行のregexpエスケープシーケンスがないため)、C-q C-jは、プロンプトで改行を入力する最も信頼できる方法です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です