【发布时间】:2012-06-17 22:26:54
【问题描述】:
我需要解析一个字符串并在每个 Guid 值周围添加单引号。我在想我可以使用正则表达式来做到这一点,但我不完全是正则表达式大师。
是否有一个好的正则表达式可用于识别 Guid?
我的第二个问题是一旦我找到了一个有效的正则表达式,我假设我会使用Regex.Replace(String, String, MatchEvaluator),但我不太确定语法。可能是这样的:
return Regex.Replace(stringToFindMatch, GuidRegex, match =>
{
return string.Format("'{0}'", match.Groups[0].ToString());
});
我尝试解析的字符串可能如下所示:
“选择 密码co0_.PASSWORD_CONFIG_ID 为 PASSWORD1_46_0_, 从 PASSWORD_CONFIG 密码co0_ 在哪里 密码co0_.PASSWORD_CONFIG_ID=baf04077-a3c0-454b-ac6f-9fec00b8e170; @p0 = baf04077-a3c0-454b-ac6f-9fec00b8e170 [类型:Guid (0)]"
【问题讨论】:
-
那是SQL,你应该使用SQL参数。
-
为什么要使用正则表达式有一个 GUID.IsGUId
-
其实有一个参数,但是和where子句中的值一样。这是从哪里来的?剖析器?
-
@jrummell 这是来自分析器是的。我正在尝试转换输出,以便我可以复制和粘贴它并在 SQL Management Studio 中运行它。这仅用于记录目的。它仍将作为参数化 sql 运行。