#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(?m)^([^\r\n]+)\s*\n([^\r\n]+)\s*\n([^\r\n]+):\s*([^\r\n]+)\s*\n([^\r\n]+):\s*([^\r\n]+)(?:\s*\n([^\r\n]+):\s*([^\r\n]+))?\s*\nDirections:\s*\n((?:.+\s*\n?)+?)(?=^[^\r\n]+\s*\n[^\r\n]+\s*\n[^\r\n]+:|\z)"
Local $sString = "Bob's Diner" & @CRLF & _
"Reefer" & @CRLF & _
"Location: Mike's Beef Barn" & @CRLF & _
"Time: 1,584" & @CRLF & _
"Stop: Highway Hotel." & @CRLF & _
"Directions:" & @CRLF & _
"Go south on Broadway." & @CRLF & _
"Get on freeway 30 South. Exit Main St." & @CRLF & _
"Go south on Main to Highway Hotel." & @CRLF & _
"Go north on Main. Go east on Highway 15. Exit Market St." & @CRLF & _
"1522 Market St." & @CRLF & _
"Comfy Pillows and Mattresses" & @CRLF & _
"Dry Van" & @CRLF & _
"Location: Innovative Furniture" & @CRLF & _
"Time: 223" & @CRLF & _
"Directions:" & @CRLF & _
"Turn right and go to Seville Ave." & @CRLF & _
"Turn left on St. Michael St." & @CRLF & _
"Go to end at the Comfy Sign." & @CRLF & _
"Washington County Construction" & @CRLF & _
"Low Boy" & @CRLF & _
"Location: Marble Quarry in Gainesville." & @CRLF & _
"Time: 1,135" & @CRLF & _
"Stop: Mountainside Motel." & @CRLF & _
"Directions:" & @CRLF & _
"Make a U-turn on Alameda Ave. and a right on Chantilly Lane." & @CRLF & _
"Get on freeway 67 East." & @CRLF & _
"Pass the Hospital and Exit Seward St." & @CRLF & _
"Turn left on Coral St. to Mountainside Motel on right." & @CRLF & _
"Exit motel and go east on Jefferson and then right on Belhaven." & @CRLF & _
"Follow Joelle Ln. to Hwy 49." & @CRLF & _
"Turn right at the Red Hill Junction. Go east on Harewood Rd." & @CRLF & _
"Turn left on Blue Heron St." & @CRLF & _
"8964 Red Rooster St." & @CRLF & _
""
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