是否可以在正则表达式中放置字符串变量?如果是这样..
我已经使用正则表达式玩了四个小时,我只需要完成一件事即可。 只有从字符串的“ A =”后面提取该行后,该行基本上会获得任何类似于42/13的分数。
所以这是我的问题-是否可以做类似的事情: 这样做的目的是使变量中的任何内容都成为正则表达式,例如,如果在变量中我们输入D,则现在D =现在A =。 谢谢。 答案 0 :(得分:2) 如果使用反斜杠而不转义,则需要照常连接字符串( 另外,您应该对变量使用方法 答案 1 :(得分:2) 这是字符串插值。您可以在字符串上使用return (new Regex(@"\bA=(\d+[/]\d+)").Match(From).Groups[1].Value.Trim()).ToString();
string variable;
Regex(@"\b"variable"=(\d+[/]\d+)").Match(From).Groups[1].Value.Trim()).ToString();
2 个答案:
+
),并在每个字符串前附加@
。您也不需要在字符类中将/
括为[/]
。另外,as mentioned by Josh in his answer和罗恩·拜尔(Ron Beyer)在您的问题下方的评论中,可以使用插值法。@"\b" + variable + @"=(\d+/\d+)"
Regex.Escape()
,以确保转义了任何特殊字符(这将防止您的模式失败或进行不正确的匹配)-清理变量。$
运算符来使用它。例子 string variable = "hello";
Regex regex = new Regex($@"\b{Regex.Escape(variable)}=(\d+[/]\d+)");