Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Не срабатывает регулярка \n

30.07.2014, 00:47. Показов 642. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет экселеведам !


Знаю, среди Вас есть спецы по регуляркам.
Подскажите, плиз, данный код выводит совпадения только,
если убрать в конце паттерна \n

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub main()
 
Dim oRegEx, Patt, oMatches, Key
Set oRegEx = CreateObject("VBScript.RegExp")
oRegEx.Global = True
 
oRegEx.Pattern = "\n.*\.(s|S)(y|Y)(s|S): 1.?\n"
 
Key = vbNewLine & "1.sys: 12" & vbNewLine & "2.sys: 12" & vbNewLine
 
Set oMatches = oRegEx.Execute(Key)
                
For n = 0 To oMatches.Count - 1
    Debug.Print oMatches.Item(n).Value
Next
 
End Sub
Но мне ведь нужно жестко ограничить конец каждой строки. Как это сделать?
И почему не работает так, как я написал?

Спасибо заранее за ответы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2014, 00:47
Ответы с готовыми решениями:

Не срабатывает регулярка
Есть регулярка для того, чтобы вытащить из тега img (страницу получаю через curl). то, что находится в src, но она не работает почему-то: ...

Регулярка срабатывает на сайте но в коде не находит совпадения
Есть такой html текст <li> <strong>Продавец</strong> Руслан </li> <li class="para m_item_phone"> <strong>Телефон</strong>...

Запрос срабатывает в SQL Server, но не корректно срабатывает в Visual Studio 2017
(SELECT ROW_NUMBER() over (ORDER BY AVG(Отметки.Отметка) DESC) ID, .ФИО, .Группа, Отметки., Отметки.Полугодие, AVG(Отметки.Отметка) AS...

6
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.07.2014, 01:00
$ вместо \n
Конец строки задается через \n только при мультистрочном (или как-то так) режиме поиска. По-крайней мере, так в JS.
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.07.2014, 01:04  [ТС]
FraidZZ, так не работает.
Там же в переменной Key не конец строки а перенос строки.
Мне нужно каждую строку проверить на соответствие паттерну. Split не предлагать.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.07.2014, 01:06
Замени на $ и добавь
Visual Basic
1
oRegEx.Multiline = True
Добавлено через 1 минуту
Dragokas, \n - это конкретно символ Ascii 10 (LF). В строке может быть еще и \r - это Ascii 13 (CR)
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.07.2014, 01:06  [ТС]
Во, теперь работает.
Multyline - это то, что мне и было нужно. Спасибо.
Последний вариант:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim oRegEx, Patt, oMatches, Key
Set oRegEx = CreateObject("VBScript.RegExp")
oRegEx.Global = True
oRegEx.MultiLine = True
 
oRegEx.Pattern = "^.*\.(s|S)(y|Y)(s|S): 1.?$"
 
Key = vbNewLine & "1.sys: 12" & vbNewLine & "2.sys: 12" & vbNewLine
 
Set oMatches = oRegEx.Execute(Key)
                
For n = 0 To oMatches.Count -1
    Debug.Print oMatches.Item(n).Value
Next
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
30.07.2014, 01:07
Т.е можно в идеале юзать символьный класс [\n\r].
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
30.07.2014, 01:08  [ТС]
Цитата Сообщение от FraidZZ Посмотреть сообщение
Dragokas, \n - это конкретно символ Ascii 10 (LF). В строке может быть еще и \r - это Ascii 13 (CR)
Ах, вон оно, что.
Теперь все стало на свои места:

Visual Basic
1
oRegEx.Pattern = "\n.*\.(s|S)(y|Y)(s|S): 1.?\r"
Спасибо. Разобрался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.07.2014, 01:08
Помогаю со студенческими работами здесь

Таймер срабатывает раньше времени или вообще не срабатывает
Помогите, пожалуйста, разобраться, что нетак с таймером. Браузер Chrome При создании записи, создаётся заметка со следующими...

Регулярка
print_r(preg_replace('#page-#ismU', '', $_SERVER)); page-1, page -ок, но когда порядковый номер двухзначный. например page-11,...

регулярка
добрый вечер подскажите как правильно составить регулярное вырожение имея строку alt='текст' title='текст' /> заменить её на ...

Регулярка
Regex(@"(\w+)\((-?\d+)?\)"); Какие строки под нее попадают? Заранее, спасибо. Добавлено через 54 секунды C-g: Up(20),...

Регулярка
Всем доброе время суток! у меня вопрос не могу сообразить как исследователь такую конструкцию! есть шаблон такого вида Ехал грека...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru