#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)(\w+\s*\n*=\s*\n*)\{\n*\s*`((?:[^`](?!(?:\$\{|\n|(?:'[^`]*"|"[^`]*'))))*)`\n*\s*\}"
Local $sString = "// Match!" & @CRLF & _
"<Component1" & @CRLF & _
" // Using backticks without utilizing their functionalities" & @CRLF & _
" className={`flex justify-center items-center gap-2`}" & @CRLF & _
" description={``}" & @CRLF & _
" content={" & @CRLF & _
" `These backticks are unnecessary`" & @CRLF & _
" }" & @CRLF & _
" // This is a crime, but I did take it into account" & @CRLF & _
" horrendousFormatting" & @CRLF & _
" =" & @CRLF & _
" {`Please never do something like this`}" & @CRLF & _
"/>" & @CRLF & _
"" & @CRLF & _
"// Multiple matches in a single line" & @CRLF & _
"<svg width={`100%`} height={`100%`} />" & @CRLF & _
"" & @CRLF & _
"// Cases where this regex won't match:" & @CRLF & _
"<Component2" & @CRLF & _
" // Non-string property" & @CRLF & _
" disabled={isDisabled}" & @CRLF & _
" // Quotes/Single quotes with unnecessary brackets" & @CRLF & _
" // (I have another regex that's better adapted for this!)" & @CRLF & _
" href={"https://regex101.com/library/l9MPcQ"}" & @CRLF & _
" // String templating" & @CRLF & _
" className={`flex items-center justify-center size-5 ${iconColor}`}" & @CRLF & _
" // Escaping BOTH " AND ' IN THE SAME STRING with backticks" & @CRLF & _
" title={`This string's backticks are "justified"`}" & @CRLF & _
" // Escaping line breaks with backticks" & @CRLF & _
" description={" & @CRLF & _
" `String with" & @CRLF & _
" a line break`" & @CRLF & _
" }" & @CRLF & _
" // "/'/` mismatch" & @CRLF & _
" content={`Yeah this will turn the rest of your file into a string"}" & @CRLF & _
">" & @CRLF & _
" {icon}" & @CRLF & _
"" & @CRLF & _
" // No match since this is not a property" & @CRLF & _
" {` `}" & @CRLF & _
"" & @CRLF & _
" (Some people do this instead of using )" & @CRLF & _
"</Component2>" & @CRLF & _
""
Local $sSubst = "$1"$2""
Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)
MsgBox($MB_SYSTEMMODAL, "Result", $sResult)
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