#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "\[.+?\](?![\.])"
Local $sString = "I am parsing some SQL statements and have found places where the SELECT statement may be:" & @CRLF & _
"" & @CRLF & _
"SELECT [tblCustomer].[FirstName], [tblCustomer.LastName], [tblOrder].[Order_No]" & @CRLF & _
"" & @CRLF & _
"and as you see the second column has a `.` inside the square brackets. This is acceptable in Access SQL but not SQL Server. I'm trying to build a RegEx to identify when there is a `.` inside square brackets and replace it with `].[`" & @CRLF & _
"" & @CRLF & _
"I've tried: `\[.+?\](?![\.])` which will get me a period inside square brackets but it doesn't stop searching when it finds the closing bracket." & @CRLF & _
"" & @CRLF & _
"I'm using ECMAScript to be compatible with VBA and I don't have concerns about nested brackets." & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"Another example:" & @CRLF & _
"SELECT IIf([tbl_ref_Service].[Root_Service] Is Null,[tbl_ref_Service].[Service],[tbl_ref_Service].[Root_Service]) AS Root_Service, tbl_POC_Assigned.POC_ID, [tbl_POC_Assigned.Hex_ID] & "_" & [tbl_Hex.Generic_ID] & "_" & [tbl_Lateral.Service_ID] & "_" & [tbl_Hex.ODD_Micap] & "_Null" AS Tool_Generic_Line, tbl_Hex.Building_ID AS Hex_Building_ID, tbl_POC.Lateral_ID, tbl_Generic_Service.Peak_Flow, [Diversity_Factor]*[Peak_Flow] AS Avg_Flow, tbl_POC_Assigned.Flow, tbl_POC_Assigned.Flow_Avg"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; 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