|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
|
Как ускорить регулярные выражения, не вынося их из функции17.07.2012, 13:39. Показов 5161. Ответов 21
Метки нет (Все метки)
Добрый день!
У меня есть функция compare(), в которой используется 50 регулярных выражений для поиска и(или) замены фрагментов. Во время работы программы данная функция исполняется 10 тысяч раз (обрабатывает каждую строку). Таким образом, даже если в конце регулярного выражения написать RegexOptions.Compiled, то при следующей итерации функции это регулярное выражение заново будет compiled. Я попробовал вынести регексы из функции compare() наверх - в функци "public partial class Form1 : Form", после чего программа заработала в 10 раз быстрее. Но теперь код стал очень неудобный - регулярные выражения объявлены в самом верху программы, а используются совсем в другом месте. Каким образом можно ускорить функцию и оставить код читабельным? Добавлено через 2 минуты Там, где можно было использовать обычный replace, я использовал его, понятное дело.
0
|
|
| 17.07.2012, 13:39 | |
|
Ответы с готовыми решениями:
21
ЧПУ. Замена строк, регулярные выражения. Как правильно использовать переменную в регулярные выражения ? Как Использовать регулярные выражения
|
|
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
|
|||||||||||
| 17.07.2012, 15:13 [ТС] | |||||||||||
|
Я по ошибке написал здесь с маленькой буквы.
Понятно, что пишу:
0
|
|||||||||||
|
117 / 114 / 10
Регистрация: 02.06.2011
Сообщений: 280
|
||
| 18.07.2012, 01:05 | ||
|
в твоем случае следует основательно занятся рефакторингом ИМХО
1
|
||
| 18.07.2012, 01:05 | |
|
Помогаю со студенческими работами здесь
22
Как работают регулярные выражения Как работают регулярные выражения?
Как вставить картинку, регулярные выражения Как Регулярные Выражения Прикрутить К Lotusscript? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|