age*_*t-j 11 regex ssms replace
是否有Sql Server Management Studio中使用的正则表达式语法的完整描述?例如,必须有一种方法可以进行否定前瞻,但查找/替换对话框不会列出一个.
SSMS版本2005-2012实际上只是修改/定制的Visual Studio Shell(2005-2010)环境,因此此Visual Studio(2005-2010)正则表达式参考适用:
http://msdn.microsoft.com/en-us/library/2k3te2cs(v=vs.80).aspx
Visual Studio 2012及更高版本已切换到标准的.Net正则表达式.
然而,在SSMS 2016之前,SSMS没有效仿并调整标准正则表达式.
SSMS使用了一个qurky RegEx实现,它与Visual Studio和.NET Regex类中使用的实现非常不同.
如果可以在MSDN上找到其功能及其相应语法的完整列表.
即使使用其奇怪的正则表达方言的文档,您可能会发现它的功能集非常缺乏.(示例:它不支持像"?"运算符这样的基础知识或者有用的高级内容,比如正面环顾.)您可以使用以下语法进行负面查看:
Run Code Online (Sandbox Code Playgroud)Prevent match ~(X) Prevents a match when X appears at this point in the expression. For example, real~(ity) matches the "real" in "realty" and "really," but not the "real" in "reality."
我所看到的古怪的SSMS方言的唯一好处是它确实包含许多其他引擎中没有的内置字符类.
例子:
Run Code Online (Sandbox Code Playgroud)Math symbol :Sm Matches +, =, ~, |, <, and >. Currency symbol :Sc Matches $ and other currency symbols.
实际上,除非你打算大量使用它包含的自定义组,否则你可能不值得花时间去学习这种奇怪的正则表达方言.将您的查询复制到具有更标准实现的编辑器(visual studio 2012或更高版本,notepad ++等),您将获得更好的服务.