Я обновляю некоторый код, написанный на Visual Basic. Регулярное выражение не работает, как я ожидал.
В основном, регулярное выражение применяется в цикле, оно заменяет ключевые слова ссылочными ссылками. Таким образом, он создает строку, которая может содержать множество фраз / слов, замененных ссылками на эти фразы / слова.
Проблема в том, что если у меня есть две фразы вики и википедии. Сначала он будет делать Википедию, так как я приказал запросу составить список фраз по длине. Однако, регулярное выражение заменит википедию, а затем вики независимо от того, преобразуется ли википедия в ссылку.
Итак, я получаю ссылку внутри ссылки.
Вот код.
do
oRegExp.Pattern = "(" & title & ")(?![^<]*>|[^<]*</a>)"
title = " <a href=""view.asp?id=" guid & """>" & "$&" & "</a> "
content = oRegExp.Replace(content, title)
loop