引用符で囲まれているすべてのフレーズを検索して、それらを複製したいと思います。
Emacsでは、私の検索は次のようになります。
M-x replace-regexp <RETURN> "*" <RETURN> $& $& <RETURN>
しかし、それは機能しません...
"*"
引用符で区切られた文字列と一致しません。行内の任意の(ゼロ以外の)引用符に一致します。
正規表現で*
は、は修飾子であり、ファイル名パターンのワイルドカードではありません。これは、「前のパターンの0以上に一致する」ことを意味し、"*"
「0以上の引用符の後に引用符が続く」、つまり、連続した任意の数の引用符も意味します。
「anything」の通常の正規表現は、.*
0個以上の「anycharacter」(.
)に一致するものです。ただし、これには引用符が含まれます。".*"
最初の引用符から最後の引用符までのすべてを1つの大きな文字列として一致させます。必要なのは"[^"]*"
、引用符に一致し、その後に任意の数の非引用符が続き、その後に別の引用符が続く、です。
また、一致するパターンは\&
、ではなく$&
です。これはうまくいくかもしれません:
M-x replace-regexp <RETURN> "[^"]*" <RETURN> \& \& <RETURN>