C# 如何将正则表达式与“a”匹配/&引用;在C中#
我希望在执行以下操作后,“匹配”布尔值为真:C# 如何将正则表达式与“a”匹配/&引用;在C中#,c#,regex,c#-4.0,C#,Regex,C# 4.0,我希望在执行以下操作后,“匹配”布尔值为真: string urlSegment = "whatever('id')/" string regexPattern = ?; bool matched = Regex.Match(urlSegment, regexPattern, RegexOptions.IgnoreCase).Success 如何避开正斜杠,使which后跟“('”后跟which id后跟“)/”?(类似于regexpatern=“('*')/”) 编辑之后,我建议的模式是:+
string urlSegment = "whatever('id')/"
string regexPattern = ?;
bool matched = Regex.Match(urlSegment, regexPattern, RegexOptions.IgnoreCase).Success
如何避开正斜杠,使which后跟“('”后跟which id后跟“)/”?(类似于regexpatern=“('*')/”) 编辑之后,我建议的模式是:
+\('(.*)\)/
这将匹配任何一组字符,后跟括号和单引号,用于包装任何一组字符
原始答复: 没有必要逃避:
这也是一个非常简单的匹配。正则表达式有点过分了。您可以使用
Contains()
查看该字符串是否包含第二个字符串。这显示在小提琴中。您可以通过以下方式提取id
:
string urlSegment = "whatever('id')/";
string regexPattern = @"whatever\('(?<id>.+)'\)/";
Match match = Regex.Match(urlSegment, regexPattern, RegexOptions.IgnoreCase);
bool matched = match.Success;
string id = match.Groups["id"].Value;
string urlsecgment=“whatever('id')/”;
字符串regexpatern=@“whatever\('(?。+)'\)/”;
Match Match=Regex.Match(urlSegment、regexpatern、RegexOptions.IgnoreCase);
布尔匹配=匹配。成功;
字符串id=match.Groups[“id”].Value;
你试过什么?你确定你需要转义/
吗?你尝试过吗?你可以使用@“whatever\('id'\)/”
作为regexpatern
使下一句话成为真,但这真的是url的样子吗?请发布一个不同的问题,而不是从根本上改变你的问题。否则,现有答案将变得毫无意义。更糟糕的是,回答原始问题的人不会注意到你问了一个新问题。获得新问题的机会将受到影响。不是我的反对票,但我很感兴趣。你能提供一些输入和预期输出的例子吗?是否需要结束斜杠?如果输入是“which('id')/somethingelse('id2')/,你想要两个id吗?我想你可能过度简化了你的例子,会得到过度简化或过于具体的答案。我不认为这是OP真正想要的,但这也是正确的。顺便说一句,我们也可以使用urlsegment.EndsWith(“/”)@cfrozendath可能是从一个糟糕的问题中做出的最佳假设。@cfrozendath因为OP会改变问题文本。此外,有时会有一些糟糕的问题,有经验的开发人员会用这些问题来猜测某人真正想问什么。类似于从客户的喜好中推测实际需求,他们没有投反对票,但我看不到OP w在问题的两个版本中都不设置id正则表达式仍然有效,如果您想匹配括号中的值,您可能也对该值感兴趣。甚至还有一个名称,XY问题-想要问题X的解决方案,尝试Y,如果失败,询问Y
string urlSegment = "whatever('id')/";
string regexPattern = @"whatever\('(?<id>.+)'\)/";
Match match = Regex.Match(urlSegment, regexPattern, RegexOptions.IgnoreCase);
bool matched = match.Success;
string id = match.Groups["id"].Value;