powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить комментарии
4 сообщений из 4, страница 1 из 1
Удалить комментарии
    #39253881
Регулярка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть большие тексты, внутри которых разбросаны комментарии. Комментарии начинаются с "/*" и заканчиваются "*/". Пытаюсь удалить их регэкспом
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Public Function DelComment(stroka As String) as String
    Dim objRegExp As Object, s As String
    Set objRegExp = CreateObject("VBScript.RegExp")
    objRegExp.Global = True
    s = "\*/*\**/\*"
    objRegExp.Pattern = s
    DelComment = objRegExp.Replace(stroka, "")
End Function


Но ничего не удаляется. Возвращается исходный текст. Помогите составить правильный паттерн.
...
Рейтинг: 0 / 0
Удалить комментарии
    #39253887
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Регулярка,

наверное, как-то так:
Код: vbnet
1.
s = "(\/\*.*\*\/)+?"
...
Рейтинг: 0 / 0
Удалить комментарии
    #39253896
Регулярка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Pristнаверное, как-то так:
Код: vbnet
1.
s = "(\/\*.*\*\/)+?"


Спасибо. Почти то что нужно. Правильно удаляет комменты. Но если комментарий занимает целую строку, то остается пустая строка. Можно ли как-то удалять и ее?
...
Рейтинг: 0 / 0
Удалить комментарии
    #39253906
Регулярка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Впрочем это легко решается обычным реплейсом перед регуляркой
Код: vbnet
1.
stroka = Replace(stroka, "*/" & vbCrLf, "*/")


The_Prist, спасибо еще раз!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удалить комментарии
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]