Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос про рег. выражения

248
26 сентября 2008 года
Dmitry2064
590 / / 06.12.2006
Давно как-то обсуждался вопрос обработки предлогов - вставка после них неразрывного пробела (^s). Хотелось бы сделать это красиво через регулярные выражения.
Вот что нарыл:

 
Код:
With Selection.Find
.Text = "( )(и|а|о|на|до|от)()" [COLOR="DarkGreen"]
'т.е. ищутся разные однобуквенные и двухбуквенные предлоги в окружении пробелов[/COLOR]
.Replacment.Text = "$1$2~s"
End With
Selection.Find.Replace:=wdReplaceAll


Не работает из-за неверного синтаксиса разделителя вариантов. Кто-то знает, как записать правильно?
17K
30 сентября 2008 года
HookEst
144 / / 27.03.2008
насколько я знаю, нет синтаксиса для вариантов слов, но можно сделать Replace отдельно для каждго пробела:
Код:
Sub t()
For Each pretext In Array("на", "в", "до")
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Text = "<(" & pretext & ")> "
        .Replacement.Text = "\1^s"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
Next pretext

End Sub
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог