#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?xm)(?ms)^\d+\.\s*(.*?)(?=^\d+\.|\Z)"
Local $sString = "5. What ultrasound finding in a breast lesion is typically associated with malignancy?" & @CRLF & _
"A. Increased through transmission" & @CRLF & _
"B. Height greater than width" & @CRLF & _
"C. Hyperechogenicity" & @CRLF & _
"D. Surrounding hyperechoic halo" & @CRLF & _
"Key: B Rationale: A. Incorrect. Increased through transmission is typically associated with benign simple cysts. B. Correct. Height greater than width is a sonographic feature that is typically associated with malignancy. C. Incorrect. Hyperechogenicity typically is seen with benign fat containing lesions and is not a typical feature of malignancy. D. Incorrect. A surrounding hyperechoic (echogenic) halo is typically associated with benign post traumatic findings." & @CRLF & _
"References: Stavros AT. Breast Ultrasound. Lippincott Williams and Wilkins, 2004. P. 472." & @CRLF & _
"" & @CRLF & _
"6. For which ONE of the following would a BIRADS 6 classification be MOST appropriate?" & @CRLF & _
"A. Post procedure mammogram for marker placement" & @CRLF & _
"B. Prior treated breast cancer" & @CRLF & _
"C. Recent biopsy proven breast cancer" & @CRLF & _
"D. Suspicious abnormality; needs biopsy" & @CRLF & _
"Key: C" & @CRLF & _
"Rationale: A. Incorrect. A Birads category is not given on the post procedure mammogram for marker placement. B. Incorrect. Patients with a history of breast cancer are not assigned a Birads Category 6, which is reserved for patients with known (untreated as yet) malignancy. C. Correct. Birads Category 6 is assigned to patients with a diagnosis of cancer who have not yet been definitively treated. D. Incorrect. Patients with suspicious abnormalities; need biopsy should be coded Birads Category 4. Birads 6 is reserved for patients with a known biopsy proven diagnosis of breast cancer." & @CRLF & _
"References: ACR BIRADS Atlas, 5th Edition, 2013. P. 149-159."
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