从数据库中获取正则表达式

时间:2013-06-11 16:42:40

标签: c# asp.net sql regex

我在SQL数据库中有我的正则表达式

例如:^ [A-ZÑ\ s \。\,\\“\%] + $

然后,我用SQL Reader

获取它

sql.Reader [ “REGULAR_EXPRESSION”]。的ToString()

但是,返回以下内容:“^ [A-ZÑ\\ s \\。\\,\\\\”\\%] + $“

任何人都知道如何避免使用.ToString()函数来更改字符串,就像使用@时一样。

2 个答案:

答案 0 :(得分:1)

我认为你实际上被这里的工具误入歧途。当您在Visual Studio的Watch窗口中查看结果时,它会以与常规带引号的字符串相同的方式转义显示中的任何字符,因此您可以获得加倍的反斜杠。如果您实际将其输出到某处,例如使用System.Diagnostics.Debug.WriteLine,则不应该看到加倍的反斜杠。

通过SqlDataReader的索引器属性访问列时,返回类型为object。那是因为它在编译时不知道它是什么类型。如果列是字符串类型(例如varchar),则返回的对象将是SqlString结构,您可以将其强制转换为string而不是调用ToString。< / p>

答案 1 :(得分:0)

要解决此问题,您必须使用Regex Library中的Regex.Unescape()函数。

问题是从对象到字符串的错误转换。