文字列内の 2 つの EOL の後に追加のテキストを挿入する必要があります。奇妙な動作に遭遇しました: 二重の EOL の後にシンボルの発生を前向きに先読みすると、すべてがほぼ正常に機能します:
"A\n\nA".gsub /(^{2})(?=A)/, '♻'
# ⇒ "♻A\n\n♻A"
\A
(文字列の先頭) に奇妙な一致がありますが、今のところ問題ありません。本当の問題は、否定的な先読みを試みるときに発生します。
"A\n\nA".gsub /(^{2})(?!B)/, '♻'
# ⇒ "♻A\n♻\n♻A"
# WHAT? ⇑
正規表現で私が誤解したこと、なぜ中間一致が発生するのか、二重の EOL を必要なもので置き換える方法を説明してください。
UPD中間一致が発生する^
のは、メタ文字であり、何も一致しないためです。@bsd に感謝します。しかし、二重の EOL を代用する適切な方法は何ですか? 私はおそらく立ち往生しています。
前もって感謝します。