Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> хранимые процедуры, жадная квантификация 
V
    Опции темы
lv151
Дата 25.5.2012, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Паршу хранимые процедуры.

Код

/****** Object:  StoredProcedure [dbo].[proc1]   Script Date: 05/05/2011 12:59:45 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE
........
END
GO
/****** Object:  StoredProcedure [dbo].[proc2]   Script Date: 05/05/2011 12:59:45 ******/




Я паршу начиная 


Код

SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE



до первого вхождения последовательности 
Выделить всёкод SQL

Код

END
GO
/****** Object:  .... ******/



Я пытался так - ^SET\sANSI_NULLS\sOFF.\nGO.\nSET\sQUOTED_IDENTIFIER\sON.\nGO.\nCREATE PROCEDURE.*END.\nGO.\n\/\*\*\*\*\*\*\s?Object:.*\*\*\*\*\*\*\/$, но используется жадная квантификация и он ест всё.

Как лучше сделать?

Это сообщение отредактировал(а) lv151 - 25.5.2012, 15:58
PM MAIL   Вверх
alezzz
Дата 25.5.2012, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



А какую часть из всего кода надо получить? И это весь код от начала до конца или за ним идут еще процедуры?
PM MAIL   Вверх
lv151
Дата 28.5.2012, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



В одном файле куча процедур.
Каждую процедуру в отдельности.

PM MAIL   Вверх
alezzz
Дата 28.5.2012, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



Цитата(lv151 @  28.5.2012,  08:20 Найти цитируемый пост)
В одном файле куча процедур.Каждую процедуру в отдельности.


Цитата(lv151 @  25.5.2012,  15:57 Найти цитируемый пост)
используется жадная квантификация и он ест всё.

ок, почему тогда не сделать ленивой квантификацией?
PROCEDURE.*?\nEND\n
между PROCEDURE и END других END нету?

Это сообщение отредактировал(а) alezzz - 28.5.2012, 09:06
PM MAIL   Вверх
lv151
Дата 28.5.2012, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Цитата(alezzz @  28.5.2012,  09:05 Найти цитируемый пост)
между PROCEDURE и END других END нету?

Есть.

Я пытаюсь парсить от CREATE PROCEDURE до первого вхождения строки 

Код

END
GO
/****** Object:  .... ******/


Это сообщение отредактировал(а) lv151 - 28.5.2012, 09:24
PM MAIL   Вверх
alezzz
Дата 28.5.2012, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



ну тогда:
^SET\sANSI_NULLS\sOFF.\nGO.\nSET\sQUOTED_IDENTIFIER\sON.\nGO.\nCREATE PROCEDURE.*?END.\nGO.\n\/\*\*\*\*\*\*\s?Object:.*\*\*\*\*\*\*\/$
но смысл тот-же, делать ленивой квантификацией.
PM MAIL   Вверх
lv151
Дата 28.5.2012, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



thx.
Разобрался с квантификацией. Решил, что она применяется для всего выражения, а не для отдельных частей.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.0473 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.