#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?xmn)\[\[(" & @CRLF & _
" # link, and optional anchor" & @CRLF & _
" (?<link>[^\|\#\]]+)?(\#(?<anchor>[^\|\]]+))? " & @CRLF & _
" # display title (optional)" & @CRLF & _
" (\|(?<title>[^|\]]+))? " & @CRLF & _
" # tooltip (optional)" & @CRLF & _
" (\|(?<tooltip>[^|\]]+))? " & @CRLF & _
")\]\]"
Local $sString = "# Entry" & @CRLF & _
"" & @CRLF & _
"## Definition" & @CRLF & _
"A published announcement made by a trusted [[Emitter]], detailing an event that occurred on their platform. " & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"## Specifications (3.0)" & @CRLF & _
"#v3_0 " & @CRLF & _
"" & @CRLF & _
"A trustlist entry follows a basic structure, with parts being omitted during ingest, as these are filled by the receiving [[Directory]], responsible for the good tenure of this entry, and its correlation to existing data." & @CRLF & _
"" & @CRLF & _
"As SocialGuard 1.0 to 3.0 tied its data to the [Discord](https://discord.com) [[Platform]], all data types are bound to that end." & @CRLF & _
"" & @CRLF & _
"| Property | Type | Description | Requirement |" & @CRLF & _
"| -------- | ---- | ----------- | ----------- |" & @CRLF & _
"| `id` | Guid | ID of the entry. | Set by API |" & @CRLF & _
"| `userId` | UInt64 | ID of the receiving [[User]]. | Required |" & @CRLF & _
"| `entryAt` | DateTime | Date/Time at which the entry was emitted on the [[Directory]]. | Set by API |" & @CRLF & _
"| `lastEscalated` | DateTime | Date/Time at which the entry was last escalated/edited. | Set by API |" & @CRLF & _
"| `emitterId` | String | ID of the [[Emitter]] responsible for this Entry. | Set by API |" & @CRLF & _
"| `emitter` | [[Emitter#Specifications (3.0)]] | Details of the [[Emitter]] responsible for this entry. | Set by API |" & @CRLF & _
"| `escalationLevel` | [[#Range: Escalation level (3.0)]] | Escalation/Severity level of the events indicated by this entry. | Required |" & @CRLF & _
"| `escalationNote` | String | Details of the event that led to this entry. | Required |" & @CRLF & _
"" & @CRLF & _
"### Range: Escalation level (3.0)" & @CRLF & _
"This range defines the severity of an event leading to an entry. It is ranged by severity level and ordered from lowest to highest severity :" & @CRLF & _
"" & @CRLF & _
"1. **Suspicious**" & @CRLF & _
" The [[User]] is marked as suspicious. Their behaviour should be monitored." & @CRLF & _
"2. **Untrusted**" & @CRLF & _
" The [[User]] is marked as untrusted. It is advised to exercise caution when interacting with them." & @CRLF & _
"3. **Blacklisted**" & @CRLF & _
" The [[User]] is deemed dangerous. Banning this user is greatly advised." & @CRLF & _
"" & @CRLF & _
"" & @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