Stierus
Новичок
Регулярные выражения
Здравствуйте. Мне необходимо пройтись по всему тексту и заменить все вхождения подстроки (для примера "test" ) в этом тексте на новую подстроку (допустим "!test!"). Всё было бы отлично, но мне необходимо заменять только отдельные слова ( например подстрока testing не должна меняться на !test!ing ) , так же при замене должны выполняться условия : найденая подстрока не должна быть частью ссылки (<a href=""> some text test<a/> должно игнорироваться) инайденая строка не должна быть внутри тега (<img alt="test"> так же должно игнорироваться) .
делается это для реализации глоссария, который будет парсить текст и подставлять ссылки на известные документы, упоминаемые в тексте.
Сейчас сделано, что бы игнорировались совпадения в ссылках и частях слова, но у меня не получается справиться с совпадением внутри тега. использовать опережающую проверку не получается (мы не знаем длину строки, где искать начало тега), с условиями никак не могу разобраться (мне необходимо что бы регулярное выражение возвращало найденое вхождение (используется регистронезависимый поиск, необходимо что бы регистр ссылки был такой же, как регистр первоначальной фразы)
Здравствуйте. Мне необходимо пройтись по всему тексту и заменить все вхождения подстроки (для примера "test" ) в этом тексте на новую подстроку (допустим "!test!"). Всё было бы отлично, но мне необходимо заменять только отдельные слова ( например подстрока testing не должна меняться на !test!ing ) , так же при замене должны выполняться условия : найденая подстрока не должна быть частью ссылки (<a href=""> some text test<a/> должно игнорироваться) инайденая строка не должна быть внутри тега (<img alt="test"> так же должно игнорироваться) .
делается это для реализации глоссария, который будет парсить текст и подставлять ссылки на известные документы, упоминаемые в тексте.
Сейчас сделано, что бы игнорировались совпадения в ссылках и частях слова, но у меня не получается справиться с совпадением внутри тега. использовать опережающую проверку не получается (мы не знаем длину строки, где искать начало тега), с условиями никак не могу разобраться (мне необходимо что бы регулярное выражение возвращало найденое вхождение (используется регистронезависимый поиск, необходимо что бы регистр ссылки был такой же, как регистр первоначальной фразы)