Dim oRegexp as Object
set oRegexp = CreateObject("VBScript.Regexp")
Dim oRegexp as IRegExp
set oRegexp = New cRegExp
Dim oRegexp as Object
Dim oRegexpProxy as IRegExp
Dim oRegexpProxy = New cRegExp
set oRegexp = oRegexpProxy
VBPCRE2.cPcre2
VBPCRE2.cPcre2Match
VBPCRE2.cPcre2Matches
VBPCRE2.cPcre2Options
VBPCRE2.cPcre2OptionsCompile
VBPCRE2.cPcre2OptionsGeneral
VBPCRE2.cPcre2OptionsMatch
VBPCRE2.cPcre2OptionsReplace
Dim lo_RegEx, lo_Matches, ii
set lo_RegEx = CreateObject("VBPCRE2.cPcre2")
With lo_RegEx.Options.Compile
.CaseSensitive = False
End With
Set lo_Matches = lo_RegEx.Execute("This is a test of matching stuff!", "(test)\s*.+\s*(Mat)")
WScript.Echo lo_Matches.Item(0).SubMatchFirstIndex(0)
If lo_Matches.Count > 0 Then
For ii = 0 To lo_Matches.Count - 1
WScript.Echo "Match #" & ii + 1 & ": " & lo_Matches(ii).MatchedText
Next
Else
WScript.Echo "No matches found!"
End If
По новым, на сколько я вижу, из методов - только Substitute. Описание.... прежде всего тем, которых нет в New RegExp?
Ну я выше писал про объектный браузер (их несколько), там можно и без регистрации и автозавершения всё увидеть.Но если посмотреть на реестр ...
... будут доступны подсказки в IntelliSense.
Ещё Option и GlobalSearch.По новым, на сколько я вижу, из методов - только Substitute.
Наверно, всё-таки свойства. Вот они-то мне и интересны.В остальном из нового только опции.
Что-то не получается. Допустим, беру AllowDuplicateSubpatternNames, Anchored, TreatUnknownCapturingGroupsAsEmptyStrings, DotMatchesAllCharacters, Greedy, AllowEmptyClass, DollarMatchesEndOfStringOnly, AlternateCircumflexHandling и т. д. Куда с этим дальше?По каждой опять же найдёте инфу в спецификации. Названия максимально схожи.
Это-то мне известно. Я же им поэтому и заинтересовался на vbs/js, т. к. нередко применяю в других скриптовых языках и утилитах.По отличиям в целом, PCRE2 принимает гораздо больший набор метасимволов паттерна.
Ну это просто разделение всех опций на группы в иерархии объектов. Под опциями я подразумеваю настройки регулярки вне зависимости от способа их реализации, свойства это или что-то ещё.Ещё Option и GlobalSearch.
Вам лучше спросить у автора обёртки или на форуме по Perl.Что-то не получается. Допустим, беру AllowDuplicateSubpatternNames, Anchored, TreatUnknownCapturingGroupsAsEmptyStrings, DotMatchesAllCharacters, Greedy, AllowEmptyClass, DollarMatchesEndOfStringOnly, AlternateCircumflexHandling и т. д. Куда с этим дальше?
'Базовые опции
PCRE2_ANCHORED
PCRE2_NO_UTF_CHECK
PCRE2_NOTBOL
PCRE2_NOTEOL
PCRE2_NOTEMPTY
PCRE2_NOTEMPTY_ATSTART
PCRE2_PARTIAL_SOFT
PCRE2_PARTIAL_HARD
PCRE2_ERROR_NOMATCH
PCRE2_SUBSTITUTE_GLOBAL
' Опции Compile
PCRE2_ALLOW_EMPTY_CLASS
PCRE2_ALT_BSUX
PCRE2_CASELESS
PCRE2_DOLLAR_ENDONLY
PCRE2_DOTALL
PCRE2_EXTENDED
PCRE2_FIRSTLINE
PCRE2_MULTILINE
PCRE2_UNGREEDY
PCRE2_UTF
PCRE2_NEVER_BACKSLASH_C
PCRE2_ALT_CIRCUMFLEX
PCRE2_AUTO_CALLOUT
PCRE2_DUPNAMES
' Судя по комментарию в коде - не реализованы
PCRE2_MATCH_UNSET_BACKREF
PCRE2_NEVER_UCP
PCRE2_NEVER_UTF
PCRE2_NO_AUTO_CAPTURE
PCRE2_NO_AUTO_POSSESS
PCRE2_NO_DOTSTAR_ANCHOR
PCRE2_NO_START_OPTIMIZE
PCRE2_UCP
' Опции Substitute
PCRE2_SUBSTITUTE_EXTENDED
PCRE2_SUBSTITUTE_UNSET_EMPTY
PCRE2_SUBSTITUTE_UNKNOWN_UNSET
Понятно.Я в этой либе так глубоко не разбираюсь и не изучал.
Что-то вижу, но понимаю, что нек. описаний для понимания кодинга недостаточно. Видимо, без метода тыка не обойтись. Примеры Jason посмотрю, спасибо.По ним можете найти описание в спецификации.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?