2
正規表現^$^J
では空行とそれに続く改行が一致しませんが、正規表現^^J
では成功します。以前の正規表現で何が間違っていますか? $
は、例えば正規表現の末尾に(正規表現で特定の場所に表示される、またはの最後であれば、通常は行の最後に空の文字列に一致するが、実際にはこれが唯一の真実である正規表現でEmacsの正規表現にマッチする行の末尾に改行が続く
正規表現^$^J
では空行とそれに続く改行が一致しませんが、正規表現^^J
では成功します。以前の正規表現で何が間違っていますか? $
は、例えば正規表現の末尾に(正規表現で特定の場所に表示される、またはの最後であれば、通常は行の最後に空の文字列に一致するが、実際にはこれが唯一の真実である正規表現でEmacsの正規表現にマッチする行の末尾に改行が続く
$
サブグループ、IIRC)。 $
が「真ん中に」表示されている場合は、$
という文字に一致します。同じことが^
に当てはまります。例えば。 (string-match "a^b$c" "1a^b$c2")
戻る1.
C-HIグラム(emacs) Regexps
ドキュメントこの現象:
‘^’
is a special character that matches the empty string, but only at
the beginning of a line in the text being matched. Otherwise it
fails to match anything. Thus, ‘^foo’ matches a ‘foo’ that occurs
at the beginning of a line.
For historical compatibility reasons, ‘^’ can be used with this
meaning only at the beginning of the regular expression, or after
‘\(’ or ‘\|’.
‘$’
is similar to ‘^’ but matches only at the end of a line. Thus,
‘x+$’ matches a string of one ‘x’ or more at the end of a line.
For historical compatibility reasons, ‘$’ can be used with this
meaning only at the end of the regular expression, or before ‘\)’
or ‘\|’.