gpt4 book ai didi

c# - 使用 .NET 正则表达式匹配前面没有单词的特定字符串和任意数量的空格

转载 作者:行者123 更新时间:2023-12-05 04:20:21 24 4
gpt4 key购买 nike

我正在使用

正则表达式:(?<!WHEN\s)EMP_ID

查询:SELECT EMP_ID, CASE WHEN EMP_ID > 115 THEN 'greater' WHEN EMP_ID < 115 THEN 'lower' END AS TEST

匹配项:1 个匹配项 (EMP_ID)

但是如果我在此查询中的 WHEN 之后添加任何空格,那么它将显示 2 个匹配的“EMP_ID”,这是错误的。或者,如果我在查询中使用 where 条件并使用此列名,那么它也会给我 2 个匹配的列名。

如何更正此正则表达式或使用不同的方法在 C# 中解决此问题?

最佳答案

你可以使用

(?<!WHEN\s+)EMP_ID

或者,使用全词匹配:

\b(?<!\bWHEN\s+)EMP_ID\b

参见 .NET regex demo .

由于 .NET 正则表达式风格允许在回顾中使用未知长度模式,(?<!WHEN\s+)在紧接 WHEN 之前的任何位置工作并失败+ 一个或多个空格。

关于c# - 使用 .NET 正则表达式匹配前面没有单词的特定字符串和任意数量的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74517710/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com