#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?im)((?:(\w{1}|\d).+([\.?\!\)\s]|\b)?)+)|\s?([\w ]+[\.\?!] )"
Local $sString = "What about... this sentence?" & @CRLF & _
"" & @CRLF & _
"Here's a list of things:" & @CRLF & _
"" & @CRLF & _
"* one," & @CRLF & _
" continued" & @CRLF & _
" - two." & @CRLF & _
"* three," & @CRLF & _
" - four" & @CRLF & _
" - five" & @CRLF & _
"" & @CRLF & _
"1. Numbered one," & @CRLF & _
" continued" & @CRLF & _
"2. numbered two." & @CRLF & _
"3. numbered three." & @CRLF & _
"" & @CRLF & _
"every sentence starts with a capital. let's have that rule. but" & @CRLF & _
"what is a sentence?" & @CRLF & _
"" & @CRLF & _
"42 is the answer." & @CRLF & _
"" & @CRLF & _
"I got a memory leak of the whole client-chat direcrive. sdf" & @CRLF & _
"" & @CRLF & _
"this is a sentence" & @CRLF & _
"that continues down here. while this is a different sentence. (can we find sentences in brackets?)" & @CRLF & _
"" & @CRLF & _
"Sentences sometimes (but not always), contain bracketed sections, e.g. as in this sentence; ok?" & @CRLF & _
"" & @CRLF & _
"a sentence with no final punctuation should end if double-spaced" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
" authorize.net Node.js filename-ish words & such don't terminate a sentence" & @CRLF & _
"" & @CRLF & _
"I want to move my website from example.net to example.com blah blah blah." & @CRLF & _
"" & @CRLF & _
"I want to move my website from example.net to example.com blah blah blah" & @CRLF & _
"" & @CRLF & _
"I want to move my website from example.net to _xCodexBlockxPlacexHolderx_" & @CRLF & _
" example.com blah blah blah." & @CRLF & _
"" & @CRLF & _
"_xCodexBlockxPlacexHolderx_" & @CRLF & _
"" & @CRLF & _
"More than a 10% with 1.5 to 2 global load, etc.) to 1st level Flume collectors." & @CRLF & _
"" & @CRLF & _
"I am using AngularJS 1.3.0, but even after upgrade to 1.4.9 it still happens. (That should be just ONE sentence.)" & @CRLF & _
"" & @CRLF & _
"A simple sentence, ending with punctuation." & @CRLF & _
"A sentence without end punctuatione, ending with double-space" & @CRLF & _
"" & @CRLF & _
""A sentence in quotes." "Ok with that?" "punctuation after the close quote"!" & @CRLF & _
"###This is a heading" & @CRLF & _
"" & @CRLF & _
"Text in a link [is part of the sentence][1]." & @CRLF & _
"" & @CRLF & _
"Another sentence. And another sentence? End of file!"
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