SQL Server 2019 支持正则表达式,您可以使用LIKE运算符与正则表达式元字符结合使用来匹配模式。

以下是一个示例,用于使用正则表达式从表中选择具有特定字符模式的行:

假设您有一个名为employees的表,其中包含full_name列。您可以使用以下查询来选择full_name列中以字母“a”开头,并以字母“y”结尾的所有行:

SELECT full_name
FROM employees
WHERE full_name LIKE 'a%y';

在上面的查询中,%是一个SQL通配符,代表零个或多个任意字符。因此,查询选择了full_name列中以字母“a”开头,并以字母“y”结尾的所有行。 此查询仅匹配以字母“a”开头,并以字母“y”结尾的字符串,而不是包含任意位置的字母“a”和“y”的字符串。

如果要使用更复杂的模式,可以将通配符与正则表达式结合使用。例如,要选择所有包含至少一个数字的full_name,您可以执行以下查询:

SELECT full_name
FROM employees
WHERE full_name LIKE '%[0-9]%';

在上面的查询中,[0-9]是一个正则表达式字符集,代表任何数字字符。因此,查询选择了full_name列中包含至少一个数字的所有行。

请注意,正则表达式功能在不同数据库管理系统和版本之间可能会有所不同。如果您使用的是不同的版本或数据库,建议您查看相关文档以了解它们支持的SQL语言和函数。

C# 中使用正则表达式替换字符串可以使用 Regex 类的 Replace 方法。方法定义如下:

public static string Replace(string input, string pattern, string replacement);

其中,input 表示要进行替换的字符串,pattern 表示要匹配的正则表达式模式,replacement 表示要替换成的字符串。

例如,假设要把一个字符串中所有的数字替换为”#”,可以使用以下代码:

string input = "1234567890";
string pattern = @"d";
string replacement = "#";
string result = Regex.Replace(input, pattern, replacement);

其中,正则表达式模式 @”d” 表示匹配任意一个数字字符。执行完以上代码后,result 的值应该是”##########”。