#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "<!DOCTYPE html>|</?\s*[a-z-][^>]*\s*>|(\&(?:[\w\d]+|#\d+|#x[a-f\d]+);|<!--[\s\S\n]*?-->)"
Local $sString = "" & @CRLF & _
"# Above is a blank line, no match." & @CRLF & _
"" & @CRLF & _
"foo bar baz" & @CRLF & _
"this is a string" & @CRLF & _
"Testing" & @CRLF & _
"<>" & @CRLF & _
"Hello, World" & @CRLF & _
"This is less than <, this is greater than >." & @CRLF & _
" a < 3 && b > 3" & @CRLF & _
"<<Important Text>>" & @CRLF & _
"# Not HTML-like." & @CRLF & _
"" & @CRLF & _
"<p>fizz buzz</p>" & @CRLF & _
"<a>this is a string</a>" & @CRLF & _
"this is a <b>string</b>" & @CRLF & _
"<p>Testing</p>" & @CRLF & _
"<img src="hello.jpg">" & @CRLF & _
"<a>Foo</a>" & @CRLF & _
"<input type='submit' value='Ok' />" & @CRLF & _
"<input type='submit' value='Ok'>" & @CRLF & _
"<br/>" & @CRLF & _
"<br>" & @CRLF & _
"<!-- comment -- doesn't work! -->" & @CRLF & _
"<hr>" & @CRLF & _
"Foo & bar" & @CRLF & _
"# These one-line samples are totally HTML-like." & @CRLF & _
"" & @CRLF & _
"<file-upload>" & @CRLF & _
"<absurd example>" & @CRLF & _
"<closed example></closed>" & @CRLF & _
"# Custom tags." & @CRLF & _
"" & @CRLF & _
"<a>" & @CRLF & _
"# Not matched by others, but actually valid." & @CRLF & _
"" & @CRLF & _
"My < weird > string" & @CRLF & _
"# Not actually a false positive; this is valid HTML!" & @CRLF & _
"" & @CRLF & _
"# Sample "smallest complete HTML document":" & @CRLF & _
"<!DOCTYPE html>" & @CRLF & _
"<title>testing</title>" & @CRLF & _
"<p>This is a test.</p>" & @CRLF & _
"<strange>This is strange.</strange>" & @CRLF & _
"# And yes, <strange> IS VALID HTML." & @CRLF & _
"" & @CRLF & _
"résume" & @CRLF & _
"résume" & @CRLF & _
"rÉsume" & @CRLF & _
"r&x00C9;sume" & @CRLF & _
"# Entities" & @CRLF & _
"" & @CRLF & _
"# List Tricks" & @CRLF & _
"<ul><li>Foo</li" & @CRLF & _
"><li>Bar</li" & @CRLF & _
"></ul>" & @CRLF & _
"" & @CRLF & _
"# From https://stackoverflow.com/a/51325984/211827" & @CRLF & _
"Hello, World" & @CRLF & _
"This is less than <, this is greater than >." & @CRLF & _
" a < 3 && b > 3" & @CRLF & _
"<<Important Text>>" & @CRLF & _
"<a> # This actually is HTML, not a false positive." & @CRLF & _
"<a>Foo</a>" & @CRLF & _
"<input type='submit' value='Ok' /> # XHTML, not HTML..." & @CRLF & _
"<br/> # XHTML again..." & @CRLF & _
"<br> # These didn't work with that answer." & @CRLF & _
"Foo & bar" & @CRLF & _
"<input type='submit' value='Ok'>" & @CRLF & _
"" & @CRLF & _
"# From https://regex101.com/r/cX0eP2/1" & @CRLF & _
"<a href=bla>sdfsdf</a>" & @CRLF & _
"<div>something</div>" & @CRLF & _
"<br>" & @CRLF & _
"<span>mayhem</div>" & @CRLF & _
"<hr />" & @CRLF & _
"<input name=bla / >" & @CRLF & _
"<div>some<span>thing</span>here</div>" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"# Prepare your eye bleach." & @CRLF & _
"<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Notre spécialité : offrir de l’assistance à plus d’un million de Québécois. Nous sommes fiers d’aider! Participez vous aussi à cette mission en réalisant les rêves d’aventure, de détente et de découverte de nos membres et clients au sein de notre agence de voyages.</span></span></p>\r\n\r\n<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Joignez-vous à nous! Vous bénéficierez de nombreux avantages : </span></span></p>\r\n\r\n<ul style="line-height:normal">\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Salaire fixe, et primes lorsque vous dépassez vos objectifs.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">20 jours de congé après une année.</span></span></li>\r\n\t<li><span style="font-size:12px"><span style="font-family:Arial">Régime de retraite - CAA-Québec égale votre mise!</span></span></li>\r\n\t<li><span style="font-size:12px"><span style="font-family:Arial">Assurance collective complète (soins médicaux et paramédicaux, invalidité, etc.).</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Rabais trippants chez nos partenaires, dans nos centres Voyages et pour vos assurances.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Plus de 1,2 million de membres comme clients potentiels.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Soutien administratif pour vous concentrer sur la vente de voyages.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Allocation généreuse pour les éducotours.</span></span></li>\r\n</ul>\r\n\r\n<p style="line-height:normal; margin-bottom:0px; margin-top:0px"> </p>\r\n\r\n<p style="line-height:normal; margin-bottom:0px; margin-top:0px"><img class="largeimage" src="https://gestiondestalents.caaquebec.com/caa/login/caa/_attachments/news_files/activex/image%20conseiller%20en%20voyage.JPG" style="line-height:normal; width:100%" /></p>\r\n\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t <br/><br/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">En tant que conseiller en voyages, vos principales tâches et responsabilités seront celles-ci :</span></span></p>\r\n\r\n<ul style="line-height:normal">\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Réaliser une analyse des besoins des clients et leur fournir des renseignements précis et utiles.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Effectuer les réservations et achats (forfaits, croisières, circuits, hôtels, automobiles et assurances voyage).</span></span></li>\r\n</ul>\r\n\r\n<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Vous occuperez un poste régulier à temps plein (35 heures par semaine). L’horaire sera variable et vous devrez parfois travailler le soir et la fin de semaine afin de bien servir les voyageurs.</span></span></p>\r\n\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t <br/><br/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Nous sommes toujours à la recherche de personnes de talent. Mais vous devrez avoir un profil précis pour ce poste!</span></span></p>\r\n\r\n<ul style="line-height:normal">\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Diplôme d’études collégiales en tourisme ou formation d’agent de voyages.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">2 à 3 années d’expérience comme conseiller en voyages.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Certificat de conseiller en voyages de l’Office de la protection du consommateur, ou être en mesure de l’obtenir.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Connaissance des systèmes de délivrance de billets : GDS, Galileo/Apollo, PcVoyages et SIREV (un atout).</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Maîtrise du français et de l’anglais.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Professionnalisme, attention aux besoins des clients et volonté d’offrir un service de qualité.</span></span></li>\r\n\t<li style="line-height: normal;"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal">Souci d’atteindre les objectifs de vente.</span></span></li>\r\n</ul>\r\n\r\n<p style="line-height:normal; margin-top:0px"><span style="font-size:12px; line-height:normal"><span style="font-family:Arial; line-height:normal"><span style="line-height:normal">Si explorer de nouveaux horizons vous passionne, et que vous aimez aider d’autres personnes à découvrir le monde, vous serez heureux à Voyages CAA-Québec. Postulez dès aujourd’hui. Nous vous attendons avec impatience!</span></span></span></p>"
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