这看起来应该是微不足道的,但我不太擅长正则表达式,而且这对谷歌来说似乎并不容易。
我需要一个以字符串“dbo”开头的正则表达式。并以字符串 '_fn' 结尾
就我而言,我不在乎这两个字符串之间有什么字符,只要开头和结尾正确即可。
这是为了匹配 SQL Server 数据库中的函数。
例如:
dbo.functionName_fn - Match
dbo._fn_functionName - No Match
dbo.functionName_fn_blah - No Match
如果您要在较大的文本中搜索匹配项,则不想使用^
and $
正如其他一些回复者所说;它们匹配文本的开头和结尾。试试这个:
\bdbo\.\w+_fn\b
\b
is a 字边界 http://www.regular-expressions.info/wordboundaries.html:它匹配前面有单词字符但后面没有 1 的位置,或者后面有单词字符但前面没有 1 的位置。此正则表达式将在以下任何字符串中找到您要查找的内容:
dbo.functionName_fn
foo dbo.functionName_fn bar
(dbo.functionName_fn)
...但不是在这个:
foodbo.functionName_fnbar
\w+
匹配一个或多个“单词字符”(字母、数字或_
)。如果您需要更具包容性的东西,您可以尝试\S+
(一个或多个非空白字符)或.+?
(除换行符之外的一个或多个任何字符,非贪婪)。非贪婪者+?
防止它意外匹配类似的东西dbo.func1_fn dbo.func2_fn
就好像这只是一击。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)