Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将正则表达式与“a”匹配/&引用;在C中#_C#_Regex_C# 4.0 - Fatal编程技术网

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;