2016-11-28 6 views
0

Скажем, мой код в Word Web Add-in должен найти строки, состоящие из пары [], с любым количеством символов между ними, за которым следует пара() с любым количеством символов между ними. Поскольку [,], (, и) являются специальными символами в RegEx (который Word вызывает «подстановочный поиск» в своем пользовательском интерфейсе), они должны быть экранированы. Следующие отлично работает, когда я делаю поиск по шаблону в пользовательском интерфейсе:Как символы могут быть экранированы в программном поиске в надстройках Word?

\[*\]\(*\) 

Но когда я использую один из поиска() функции в Office.js, такие как это:

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

Я получаю только диапазоны, состоящие из одного символа «*».

Итак, как я могу избежать символов программно?

ответ

0

Ответ на мой собственный вопрос под новым идентификатором stackexchange.

Символ обратной косой черты, "\" не используется в качестве escape-символа в программном поиске. Чтобы избежать символа в функции search(), вы завершаете его символами «[]». Ниже программный эквивалент поискового интерфейса строки, я использовал в этом вопросе:

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

Это работает просто отлично.