#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?xs)@font-face\s* # Match @font-face and some spaces" & @CRLF & _
"( # Start group 1" & @CRLF & _
" \{ # Match {" & @CRLF & _
" (?: # A non-capturing group" & @CRLF & _
" [^{}]+ # Match anything except {} one or more times" & @CRLF & _
" | # Or" & @CRLF & _
" (?1) # Recurse/rerun the expression of group 1" & @CRLF & _
" )* # Repeat 0 or more times" & @CRLF & _
" \} # Match }" & @CRLF & _
") # End group 1" & @CRLF & _
"(*SKIP)(*FAIL) # Skip it" & @CRLF & _
"| # Or" & @CRLF & _
"url\s*\( # Match url, optionally some whitespaces and then (" & @CRLF & _
"\s* # Match optionally some whitespaces" & @CRLF & _
"("|'|) # It seems that the quotes are optional according to http://www.w3.org/TR/CSS2/syndata.html#uri" & @CRLF & _
"(?!["']?(?:https?://|ftp://)) # Put your negative-rules here (do not match url's with http, https or ftp)" & @CRLF & _
"(?:[^\\]|\\.)*? # Match anything except a backslash or backslash and a character zero or more times ungreedy" & @CRLF & _
"\2 # Match what was matched in group 2" & @CRLF & _
"\s* # Match optionally some whitespaces" & @CRLF & _
"\) # Match )"
Local $sString = ".someclass0 {" & @CRLF & _
" background: url('http://images/someimage.png') no-repeat;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"@font-face {" & @CRLF & _
" font-family: 'FontAwesome';" & @CRLF & _
" src: url("fonts/fontawesome-webfont.eot?v=4.0.3");" & @CRLF & _
" src: url("fonts/fontawesome-webfont.eot?#iefix&v=4.0.3") format("embedded-opentype"), url("fonts/fontawesome-webfont.woff?v=4.0.3") format("woff"), url("fonts/fontawesome-webfont.ttf?v=4.0.3") format("truetype"), url("fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular") format("svg");" & @CRLF & _
" font-weight: normal;" & @CRLF & _
" font-style: normal;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
".someclass1 {" & @CRLF & _
" background: url('images/someimage.png') no-repeat;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
".someclass2 {" & @CRLF & _
" background: url("images/someimage.png") no-repeat;" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
".someclass3 {" & @CRLF & _
" background: url(images/someimage.png) no-repeat;" & @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