javascriptのreplaceにて、正規表現を用いて下記のような置換を行いたい。
文章中の文字列A(例:梨)の中から、文字列B(例:山梨県)に含まれないものだけを置換する際の正規表現を作成したい。
(例:「特に山梨県の梨はみずみずしくて美味い」⇒「特に山梨県のりんごはみずみずしくて美味い」)
ただし、文字列A、文字列Bについては動的に生成する文字列であるため、「~(文)~(字)~(列)~」のように文字列を分割するのではなく、~(文字列)~のような形式としたい。
現状、「山梨県」を一時的に「山○県」に置換⇒「梨」をりんごに置換⇒「山○県」を「山梨県」に置換の形で実現済みですが、正規表現を用いてreplace一発で置換を行えないか、方法があればご教示ください。
追記
text(元文章、仮に「特に山梨県の梨はみずみずしくて美味い」)
beffor(置換の対象とする文字列A、仮に「梨」)
exception(置換の例外とする文字列B、仮に「山梨県」)
after(置換後の文字列、仮に「りんご」)
と与えられた際に、「(?<!山)梨(?!県)」のようにパラメータの内容を考慮した属パラメータ的なものではなく、
「new RegExp("???"+(beffor)+"???"+(exception)+"???")」のように各パラメータの内容や文字構成に依存しない汎用的な正規表現を目指しています。
回答4件
あなたの回答
tips
プレビュー