Автор Redline
WinActivate('[REGEXPCLASS:шаблон]')
WinActivate('[REGEXPTITLE:шаблон]')
WinActivate('[REGEXPCLASS:(?i)mozillaui|IEFrame|OpWindow]')
ControlClick('Title', '', '[REGEXPCLASS:шаблон]')
Run('calc')
WinWaitActive('[REGEXPCLASS:(?i)calc]')
ControlSetText('[REGEXPCLASS:(?i)calc]', '', '[REGEXPCLASS:it]', 'здесь был AutoIt')
$oRE = ObjCreate('VBScript.RegExp') ; создание объекта
$oRE.IgnoreCase = 1 ; флаг игнорирования регистра текста шаблоном
$oRE.Global = 1 ; поиск всех совпадений в тексте
$oRE.MultiLine = 1 ; режим многострокового текста для точки "."
$oRE.Pattern = 'pattern' ; сам шаблон
$oRE = ObjCreate('VBScript.RegExp')
$oRE.IgnoreCase = 1
$oRE.Global = 1
$oRE.MultiLine = 0
$oRE.Pattern = '^[a-z]+$'
$sText = 'abcdefgh'
$sResult = $oRE.Test($sText)
ConsoleWrite($sResult & @CRLF)
$oRE = ObjCreate('VBScript.RegExp')
$oRE.IgnoreCase = 1
$oRE.Global = 1
$oRE.MultiLine = 0
$oRE.Pattern = '(\d)(?=(\d{3})+(\D|$))'
$sText = '987 9876 98765 987 9876 9876543 98765432 987 9879'
$sResult = $oRE.Replace($sText, '$1.')
ConsoleWrite($sResult & @CRLF)
$oRE = ObjCreate('VBScript.RegExp')
$oRE.IgnoreCase = 1
$oRE.Global = 1
$oRE.MultiLine = 0
$oRE.Pattern = '\d+'
$sText = 'text 123 text 4321 text 123452'
$oMatches = $oRE.Execute($sText) ; коллекция $oMatches будет включать в себя все совпадения с шаблоном
$iCount = $oMatches.Count ; свойство Count соответствует количеству совпавших элементов
ConsoleWrite('Количество совпадений: ' & $iCount & @CRLF)
ConsoleWrite('Первый способ работы с коллекцией:' & @CRLF & '--------' & @CRLF)
For $oMatch In $oMatches ; стандартный перебор всех значений внутри коллекции
ConsoleWrite('Значение совпавшего элемента: ' & $oMatch.Value & @CRLF) ; свойство Value содержит значение элемента коллекции $oMatch
ConsoleWrite('Номер позиции во входящей строке: ' & $oMatch.FirstIndex & @CRLF) ; свойство FirstIndex содержит порядковый номер первого совпавшего символа данного элемента во входящей строке
ConsoleWrite('Количество символов в элементе: ' & $oMatch.Length & @CRLF) ; свойство Length содержит количество символов в элементе
ConsoleWrite('---' & @CRLF)
Next
ConsoleWrite('Второй способ работы с коллекцией:' & @CRLF & '--------' & @CRLF)
For $i = 0 To $iCount - 1 ; перебор значений коллекции по порядковому номеру
$oMatch = $oMatches.Item($i) ; $oMatch - объект коллекции с соответствующим номером
ConsoleWrite('Значение совпавшего элемента: ' & $oMatch.Value & @CRLF)
ConsoleWrite('Номер позиции во входящей строке: ' & $oMatch.FirstIndex & @CRLF)
ConsoleWrite('Количество символов в элементе: ' & $oMatch.Length & @CRLF)
ConsoleWrite('---' & @CRLF)
Next
$oRE = ObjCreate('VBScript.RegExp')
$oRE.IgnoreCase = 1
$oRE.Global = 1
$oRE.MultiLine = 0
$oRE.Pattern = '\d+'
$sText = '<td>string15</td> <div>string25</div> <i>string36</i>'
$sPattern = '<[^>]+>(.*?)</[^>]+>'
$oRE.Pattern = $sPattern
$oMatches = $oRE.Execute($sText)
$iCount = $oMatches.Count
ConsoleWrite('Количество совпадений: ' & $iCount & @CRLF)
ConsoleWrite('Первый способ работы с коллекцией:' & @CRLF & '--------' & @CRLF)
For $oMatch In $oMatches
ConsoleWrite('Значение совпавшего элемента: ' & $oMatch.Value & @CRLF)
$oSubMatches = $oMatch.SubMatches ; коллекция элементов, соответствующая группам с захватом
ConsoleWrite('Количество совпадений с "группой с захватом": ' & $oSubMatches.Count & @CRLF)
For $oSubMatch In $oSubMatches
ConsoleWrite('Элемент, совпавший с "группой с захватом": ' & $oSubMatch & @CRLF)
Next
ConsoleWrite('---' & @CRLF)
Next
ConsoleWrite('Второй способ работы с коллекцией:' & @CRLF & '--------' & @CRLF)
For $i = 0 To $iCount - 1
$oMatch = $oMatches.Item($i)
ConsoleWrite('Значение совпавшего элемента: ' & $oMatch.Value & @CRLF)
$oSubMatches = $oMatch.SubMatches
$iSubCount = $oSubMatches.Count
ConsoleWrite('Количество совпадений с "группой с захватом": ' & $iSubCount & @CRLF)
For $j = 0 To $iSubCount - 1
ConsoleWrite('Элемент, совпавший с "группой с захватом": ' & $oSubMatches.Item($j) & @CRLF)
Next
ConsoleWrite('---' & @CRLF)
Next