Я создал CLR в базе данных SQL Server 2005. Это простая пользовательская функция регулярного выражения, которая проверяет, существует ли шаблон в строке, которую я передаю в функцию.игнорировать регистр с регулярным выражением
Чистый код дота я использую в CLR показан ниже:
Return System.Text.RegularExpressions.Regex.IsMatch("Input", "pattern")
Это возвращает значение бита 1, если найдено совпадение.
Узор я использую
+(Create|Alter) +(Proc|Procedure) +
То, что я хочу, чтобы это сделать, это найти какие-либо случаи «процедуры«создать или изменить»или прок» независимо от случая. Как я могу заставить выражение игнорировать регистр?
Я попытался
/ +(Create|Alter) +(Proc|Procedure) +/i
, но это не работает.
EDIT: Я просмотрел в Интернете и использовал различные предложения. Ни один из них не работал, или я сделал это неправильно. Если кто-то может дать мне образец, который проигнорирует случай, который будет высоко оценен!
То, что я пытался достичь, было регулярным выражением, которое игнорирует случай. Dot Net имеет параметры, которые могут быть переданы, чтобы установить игнорировать регистр, однако он находится в CLR, поэтому я не могу передать параметры функции.
Узор, который достигает этого: + (Создать | Alter) + (Proc | Порядок) +
ли это пространство между (? Я) и + сделать его для пространство? – Greg
Это пространство было частью оригинального рисунка - поэтому я оставил его нетронутым. – Tomalak
Это именно то, что я искал спасибо! Протестировано и работает! Пространство и + означает, что перед Create или Alter может быть любое количество пробелов. – MarcoF