#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?><a.*?>(.*?)</a>)\s*<ul"
Local $sString = "<ul>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#o">Первый</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#v">Второй</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#t">Третий</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#ch">Четвертый</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#p">ПÑтый</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#test">ШеÑтой</a>" & @CRLF & _
" <ul>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#so">ШеÑтьОдин</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sd">ШеÑтьДва</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#st">ШеÑтьТри</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sc">ШеÑтьЧетыре</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sp">ШеÑтьПÑть</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#ss">ШеÑтьШеÑть</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sss">ШеÑтьСемь</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sv">ШеÑтьВоÑемь</a>" & @CRLF & _
" </li>" & @CRLF & _
" <li>" & @CRLF & _
" <a href="#sd">ШеÑтьДевÑть</a>" & @CRLF & _
" </li>" & @CRLF & _
" </ul>" & @CRLF & _
" </li>" & @CRLF & _
"</ul>"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH)
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm