我在 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/