@grylls
потому что если вы используете в регулярном выражении переменные, вы должны изменить "способ записи регулярного выражения с ограничителями" на "способ записи в кавычках", со всеми вытекающими последствиями ( экранирование обратного слеша, разрыв выражения и конкатенция подстрок и переменных через '+var+ ' )....
В том виде как был поставлен вопрос, я его вам решил, разжевал и даже переварил, но некоторым видимо удобнее плавно переходить от вопроса к вопросу и в итоге написать скрипт чужими руками.
HASH = (matches=[[TEXT12]].match( '([a-f0-9]{32})[^<>]+>'+[[CAPTCHA]]+'<\\/span', 'i' )) ? matches[1] : false ;