1 件の投稿を表示中 (合計 3 個)
  • 作成者
    投稿
  • #7152
    kshi
    参加者

    JavaScriptとVBScriptとで正規表現の後方参照の記法がちがうということはありますでしょうか。

    『漢数字』を【漢数字】に置換するサンプルマクロを書いてみます。

    [JavaScript]
    var opt = eeFindReplaceRegExp + eeReplaceSelOnly + eeReplaceAll;
    document.selection.Replace(“『([一二三四五六七八九十]+)』”, “【1】”, opt);
    document.HighlightFind = false;

    [VBScript]
    Dim opt
    opt = eeFindReplaceRegExp + eeReplaceSelOnly + eeReplaceAll
    document.selection.Replace “『([一二三四五六七八九十]+)』”, “【1】”, opt
    document.HighlightFind = false

    [サンプルテキスト]
    孟子の三楽
    『一』一家の者が無事であること。
    『二』天にも人にも恥じるところのないこと。
    『三』天下の英才を教育すること。

    自分の手元では、後方参照を
    ・JavaScriptでは 1
    ・VBScriptでは 1
    としないと正常に動作しません。

    #7153
    Yutaka Emura
    キーマスター

    これは JavaScript と VBScript の文法の違いです。VBScript ではバックスラッシュ「」を単独で使用して構いませんが、JavaScript では、「」というようにもう1つのバックスラッシュでエスケープする必要があるからです。

    #7155
    kshi
    参加者

    江村さん、ご回答ありがとうございます。
    すっきりしました!!
    しばらく悩んでいました。
    後方参照だけでなく、通常の検索でも同様ですね。

1 件の投稿を表示中 (合計 3 個)
  • このトピックに返信するにはログインしてください。