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