.net - 用正则表达式忽略大小写

标签 .net regex sql-server-2005 clr

我在 SQL Server 2005 数据库中创建了一个 CLR。这是一个简单的正则表达式用户定义函数,它将检查我传递给函数的字符串中是否存在模式。

我在CLR中使用的点网代码如下图:

Return System.Text.RegularExpressions.Regex.IsMatch("Input", "pattern")

如果找到匹配项,则返回位值 1。

我使用的模式是

 +(Create|Alter) +(Proc|Procedure) +

我想要做的是找到任何“创建或更改”“过程或过程”的情况,无论情况如何。如何让表达式忽略大小写?

我试过了

/ +(Create|Alter) +(Proc|Procedure) +/i 

但这不起作用。

编辑:我在互联网上四处查看并使用了各种建议。这些都没有奏效,或者我做错了。如果有人能给我一个模式来忽略这种情况,那将不胜感激!

回答: 我试图实现的是一个忽略大小写的正则表达式。 Dot Net 确实具有可以传入以设置忽略大小写的参数,但是它在 CLR 中意味着我无法将参数传递给函数。

实现这一点的模式是:(?i) +(Create|Alter) +(Proc|Procedure) +

最佳答案

您可以使用内联“不区分大小写”修饰符(?i):

(?i) +(Create|Alter) +(Proc|Procedure) +

关于.net - 用正则表达式忽略大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543602/

相关文章:

.net - 空对象上的 SyncLock

.net - 本土集成系统还是 ESB?

javascript - 否定正则表达式模式的问题

c# - 插入语句组合逻辑

sql-server-2005 - 通用选择存储过程

.net - EF : Can I have single point for lambda to class instance conversion?

c# - HttpError 和 IHttpActionResult

arrays - 从正则表达式结果中删除大括号

regex - 多行正则表达式来匹配配置 block

用于更改所有外键以添加 ON DELETE CASCADE 的 SQL 脚本