2016-11-28 6 views
0

Word Web Add-inの私のコードでは、[]とその間に任意の数の文字で構成された文字列と、その間に任意の数の文字を含む文字列を見つける必要があるとします。 [、]、(、)は正規表現の特殊文字(UIで「ワイルドカード検索」と呼ばれる)であるため、エスケープする必要があります。Wordアドインでプログラムによる検索で文字をエスケープするにはどうすればよいですか?

var searchResults = context.document.body.search('\[*\]\(*\)'); 

:私はこのような検索の1()Office.jsで機能し、使用しているとき

\[*\]\(*\) 

しかし:私はUIでワイルドカード検索を行うときは、次が正常に動作します私は単一の "*"文字で構成される範囲のみを取得します。

文字をプログラムからエスケープするにはどうすればよいですか?

答えて

0

新しいstackexchange IDの下で私自身の質問に答える。

バックスラッシュ文字 "\"は、プログラム検索ではエスケープ文字として使用されません。 search()関数の文字をエスケープするには、文字を "[]"で囲みます。以下は質問で使用したUI検索文字列のプログラムに相当します。

[[]*[]][(]*[)] 

これはうまくいきます。

関連する問題