Code:
#include <GuiConstants.au3>
#include <EditConstants.au3>
GUICreate("StringRegExp",500,400,-1,-1)
$String = GUICtrlCreateEdit("Your String",0,100,500,100)
$Pattern = GUICtrlCreateEdit("Your Pattern",0,0,500,100)
$Found = GUICtrlCreateEdit("",0,200,500,100)
$hGenerate = GUICtrlCreateButton("Generate AutoIT Code",0,300,200,20)
$hCode = GUICtrlCreateEdit("",0,320,300,80)
$hFlag = GUICtrlCreateInput("Flag",210,300,100,20)
GUICtrlCreateUpdown(-1)
GUICtrlSetLimit(-1,4,0)
GUISetState()
$sString = GUICtrlRead($String)
$sPattern = GUICtrlRead($Pattern)
$sFlag = GUICtrlRead($hFlag)
$sFound = GUICtrlRead($Found)
While 1
If $sString <> GUICtrlRead($String) Then
_StringRegExp(GUICtrlRead($String),GUICtrlRead($Pattern),GUICtrlRead($hFlag))
$sString = GUICtrlRead($String)
EndIf
If $sPattern <> GUICtrlRead($Pattern) Then
_StringRegExp(GUICtrlRead($String),GUICtrlRead($Pattern),GUICtrlRead($hFlag))
$sPattern = GUICtrlRead($Pattern)
EndIf
If $sFlag <> GUICtrlRead($hFlag) Then
_StringRegExp(GUICtrlRead($String),GUICtrlRead($Pattern),GUICtrlRead($hFlag))
$sFlag = GUICtrlRead($hFlag)
EndIf
$msg = GUIGetMsg()
Select
Case $msg = $hGenerate
$gString = StringReplace(GuiCtrlRead($String),@CRLF,'" & @CRLF _' & @CRLF & @TAB & @TAB & '& "')
$gPattern = StringReplace(GuiCtrlRead($Pattern),@CRLF,'')
GUICtrlSetData($hCode,'#include <Array.au3>' & @CRLF & '$sString = "' & $gString & '"' & @CRLF _
& '$aArray = StringRegExp($sString,"' & $gPattern & _
'",' & GUICtrlRead($hFlag) & ')' & @CRLF & '_ArrayDisplay($aArray)')
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Func _StringRegExp($String,$Pattern,$Flag)
$sFounded = "Result:" & @CRLF
GUICtrlSetData($Found,"")
$aRegExp = StringRegExp($String,$Pattern,$Flag)
If StringInStr($Pattern,@CRLF) = 0 Then
If IsArray($aRegExp) Then
For $i = 0 To UBound($aRegExp)-1
If $Flag = 4 Then
$aRegExp[$i] = $i & ". FULL_ARRAY"
$sFounded = $sFounded & $aRegExp[$i] & @CRLF
Else
$sFounded = $sFounded & $aRegExp[$i] & @CRLF
EndIf
GUICtrlSetData($Found,$sFounded)
Next
EndIf
EndIf
EndFunc