T-SQL正则表达式匹配“;一个或多个“;操作人员

T-SQL正则表达式匹配“;一个或多个“;操作人员,sql,regex,python-3.x,Sql,Regex,Python 3.x,在MS SQL中,是否有允许匹配一个或多个字符的运算符?(我很好奇它是否在T-SQL中显式实现-其他解决方案当然是可能的,我在下面的问题示例中使用了其中一个…) 我知道,在SQL中,使用通配符/类似方法可以显式实现这一点,并取得不同程度的成功: SELECT * FROM table -- finds letters aix and then anything following it WHERE column LIKE 'aix_x%' 在Python中,“+”运算符允许: import r

在MS SQL中,是否有允许匹配一个或多个字符的运算符?(我很好奇它是否在T-SQL中显式实现-其他解决方案当然是可能的,我在下面的问题示例中使用了其中一个…)

我知道,在SQL中,使用通配符/类似方法可以显式实现这一点,并取得不同程度的成功:

SELECT *
FROM table
-- finds letters aix and then anything following it
WHERE column LIKE 'aix_x%'
在Python中,“+”运算符允许:

import re

str = "The rain in Spain falls mainly in the plain!"

#Check if the string contains "ai" followed by 1 or more "x" characters:
# finds 'ai' + one or more letters x
x = re.findall("aix+", str)

print(x)

if (x):
  print("Yes, there is at least one match!")
else:
  print("No match")
检查字符串是否包含后跟1个或多个“x”字符的“ai”: 查找“ai”+一个或多个字母x

如果这是您想要的,那么:

其中str类似于“%aix%”

做你想做的事

如果需要下划线,则下划线是表达式中的通配符。SQL Server中最简单的方法可能是使用字符类:

其中str类似于“%ai[]x%”

另一个解决办法是:


其中,类似“%ai$\u x%”的str转义“$”

SQL Server没有完全的正则表达式支持。您可能会发现在Python中这样做更简单。