私は現在、二重引用符をスマート クォートに置き換えるための正規表現 (Javascript) を使用しています。
// ie: "quotation" to “quotation”
二重引用符を置き換えるために使用した式は次のとおりです。
str = str.replace(/"([A-Za-z ]*)"/ig, "“$1”")
引用符内の句に追加の句読点が含まれていない場合、上記は完全に機能しますが、アポストロフィも置き換える必要があります。
// ie: replace "It's raining again" with “It’s raining again!”
カプセル化されていない場合、単一引用符/アポストロフィを置き換える式は正常に機能します。
str.replace(/\'\b/g, "’"); // returns it's as it’s correctly
// Using both:
str.replace(/"([A-Za-z ]*)"/ig, "“$1”").replace(/\'\b/g, "’");
// "It's raining again!" returns as "It’s raining again!"
// Ignores double quotes
これは、二重引用符を置き換える式が文字のみに一致するためであることはわかっていますが、正規表現の経験が限られているため、単一引用符を含む可能性のある引用符の一致を作成する方法に戸惑いました!
どんな助けでも大歓迎です!前もって感謝します。