#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\[\[hero:([^:\]]*):?.*\]\]"
Local $sString = "<div id="HeroesChanges">" & @CRLF & _
" [[hero:abaddon]]" & @CRLF & _
" [[patchnote]] Aphotic Shield cast point reduced from 0.4 to 0.3" & @CRLF & _
" [[patchnote]] Borrowed Time scepter duration increased from 5/6/7 to 6/7/8" & @CRLF & _
" [[patchnote]] Level 15 Talent increased from +48 Mist Coil Heal/Damage to +50" & @CRLF & _
" [[patchnote]] Level 15 Talent changed from +6 Armor to +65 Damage" & @CRLF & _
" [[patchnote]] Level 20 Talent changed from +80 Damage to +8 Armor" & @CRLF & _
" [[patchnote]] Level 25 Talent increased from 375 AoE Mist Coil to 425" & @CRLF & _
" [[shard:abaddon_aphotic_shield:shardupgrade]]" & @CRLF & _
" [[shardnote]] Causes Mist Coil and Aphotic Shield to apply a Curse of Avernus stack on enemies. Increases base slow by 6%." & @CRLF & _
" [[shardvideo]]" & @CRLF & _
" [[heroend]]" & @CRLF & _
"" & @CRLF & _
" [[hero:alchemist]]" & @CRLF & _
" [[patchnote]] Unstable Concoction manacost reduced from 120 to 90/100/110/120" & @CRLF & _
" [[patchnote]] Unstable Concoction cooldown reduced from 22/20/18/16 to 16" & @CRLF & _
" [[patchnote]] Acid Spray damage increased from 15/20/25/30 to 20/25/30/35" & @CRLF & _
" [[patchnote]] Acid Spray first damage instance is now immediate rather than after a second" & @CRLF & _
" [[patchnote]] Gold bonus cap reduced from 18/22/26/30 to 18/21/24/27 (last hit count from 5/7/8/9 to 5/6/7/8)" & @CRLF & _
" [[patchnote]] If an ally already has a scepter buff or the item, it refunds them based on which version they have (either 4200 or 5800). " & @CRLF & _
" [[patchnote]] Alchemist granted scepter buffs provide the full stat bonuses." & @CRLF & _
" [[patchnote]] Scepter damage/spell amp bonus reduced from 30/6 to 20/5" & @CRLF & _
" [[patchnote]] Level 20 Talent reduced from +30% Cleave to +25%" & @CRLF & _
" [[shard:alchemist_berserk_potion:shardnew]]" & @CRLF & _
" [[shardnote]] Grants Berserk Potion. Throws a potion at the target ally, applying a basic dispel and granting +50 Attack Speed and +40 HP Regen for 10 seconds. Cast Range: 800. Cooldown: 45. Manacost: 125. Can be used on self." & @CRLF & _
" [[shardvideo]]" & @CRLF & _
" [[heroend]]" & @CRLF & _
"" & @CRLF & _
" [[hero:ancient_apparition]]" & @CRLF & _
" [[patchnote]] Ice Blast max travel time improved from 2 seconds to 1.75" & @CRLF & _
" [[patchnote]] Chilling Touch manacost reduced from 30/50/70/90 to 30/45/60/75" & @CRLF & _
" [[shard:ancient_apparition_ice_vortex:shardupgrade]]" & @CRLF & _
" [[shardnote]] Causes Ice Vortex to deal 40 DPS and reduces attack speed by 20." & @CRLF & _
" [[shardvideo]]" & @CRLF & _
" [[heroend]]" & @CRLF & _
"" & @CRLF & _
" [[hero:antimage:scepterreworked]]" & @CRLF & _
" [[patchnote]] Mana Break max burn reduced from 1/2/3/4% to 1/1.8/2.6/3.4%" & @CRLF & _
" [[patchnote]] Level 15 Talent changed from +12 Agility to +8 Armor" & @CRLF & _
" [[patchnote]] Level 15 Talent reduced from +325 Blink Cast Range to +300" & @CRLF & _
" [[patchnote]] Level 20 Talent changed from Blink Uncontrollable Illusion to +0.1 Mana Void Damage Multiplier" & @CRLF & _
" [[patchnote]] <span class="reworked-scepter">Scepter Rework:</span> Now grants Blink Fragment. Blinks an illusion at the target enemy or location and attacks them for 7 seconds. Uses Blink's Cast Range. Illusion cannot be controlled, deals 50% damage, takes 250%. Casting Counterspell also casts it on the Fragment illusion. Cooldown: 20. Manacost: 50" & @CRLF & _
" [[shard:antimage_counterspell:shardupgrade]]" & @CRLF & _
" [[shardnote]] Successful Counterspell creates an illusion attacking the caster for 5 seconds. Removes Counterspell manacost." & @CRLF & _
" [[shardvideo]]" & @CRLF & _
" [[heroend]]"
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