#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?<![a-z'-] )([A-Z][a-z'-]++)[^(A-Z]*\(([^)]+)\)[^A-Z\v]+([A-Z][a-z'-]++)(?!\s[A-Z])[^(A-Z]*\(([^)]+)\)"
Local $sString = "[Nisei](slightly scratched) [Ocellaris](unconcious)" & @CRLF & _
"L: 1799 Ocellaris: (slightly scratched) vs. N'isei: (mildly wounded)" & @CRLF & _
"[Nisei](slightly scratched) [Zealot Warrior](perfect condition)" & @CRLF & _
"L: 1799 Ocellaris: (slightly scratched) vs. zealot warrior: (mildly wounded)" & @CRLF & _
"[fire dragon](slightly scratched) [Zealot Warrior](perfect condition)" & @CRLF & _
"[King Jheric](slightly scratched) [Zealot Warrior](perfect condition)" & @CRLF & _
"Me:(condition) v Target:(condition) " & @CRLF & _
"Reply:Some Person L:1200 King Jheric:(condition) vs. Target:(condition)" & @CRLF & _
"[Me] -> (condition) [wolfen berserker] -> (condition)" & @CRLF & _
"Lag: 1200 [zealot warrior](condition) vs. [King Jheric](condition)"
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