У нас есть эти тексты на веб-страницахпоиска регулярных выражений и заменить ссылку
некоторые бла ## page1234.asp :: текст в ссылке ##, а затем некоторые более бла-бла
с синтаксисом является двойной хэш, то ссылка, то двойное двоеточие, то текст, который будет нажата, а затем положить конец связь с двойным хэша снова, как в:
##[url]::[visible text]##
##[url]::[visible text]::[title]##
Где [название] является текст мыши над для SEO оптимизация. Не самое причудливое решение, но оно проработало годами и не будет изменено на время.
Я бы хотел, чтобы ускорить функцию обнаружения/замены, чтобы использовать RegEx вместо «вручную», имеет vbscript/ASP, проходящий через все эти документы и выполняющий instr и замену.
Моя проблема заключается в создании модели с RegEx, которые будут либо заменить их с реальной HTML, включая
<a href="[url]" title="[title]">[visible text]</a>
или массива я мог бы работать и выполнять поиск и замену с потом.
Так что мой первый приоритет, чтобы понять RegEx модели матча, так что будет искать
"##<text>::<text>##" or "##<text>::<text>::<text>##"
, а затем возвращать либо всю строку, или, если это возможно сделать фактические вставки HTML тоже. Я думаю, что это две разные RegEx соответствует одна с 2-х переменных и один с 3 ..
ОБНОВЛЕНО с кодом на основе регулярных выражений Сэма:
dim oRegEx, sText
Set oRegEx = New RegExp
oRegEx.Pattern = "##(.*?)::(.*?)(?:::(.*?))?##"
oRegEx.Global = true
sText ="foo ##page1234.asp::visible text## bar ##page1234.xml::visible text::title## bar"
sText = oRegEx.replace(sText, "<a href=""$1"" title=""$3"">$2</a>")
response.Write(sText)
Если бы изменить/1 к $ 1, чтобы он работал в среде vbscript. Но все остальное работало мгновенно.
Thanks community!
Awesome! большое спасибо! – BerggreenDK
И какой прекрасный сайт для демонстрации, думаю, я выиграю от этого в будущем. – BerggreenDK
Рад, что я могу помочь, мне нравится Regex101 для написания/тестирования/обмена выражениями. – Sam