4Manuals

  • PDF Cloud HOME

是否可以在正则表达式中放置字符串变量? Download

    获取Hough线的交点OpenCV C ++ 如何将字符串“ text1”设置为包含项目text1,text2,test3的组合框的选定项目? 为什么System.Net.Mail.MailAddress构造函数在域部分中解析带有斜杠“ /”的电子邮件? Android 10,API29:在应用程序文件夹中使用C ++库编写文件会使应用程序崩溃 Unity-LineRenderer没有出现在版本(2D)上 按下按钮后,电话中未显示通知 ASP.net,使用WebConfig httpErrors重定向到区域内的控制器不起作用 获取会议室详细信息 我们如何将参数Line转换为Station? 网络核心:查找实体框架核心的主键和反射

是否可以在正则表达式中放置字符串变量?如果是这样.. 我已经使用正则表达式玩了四个小时,我只需要完成一件事即可。

return (new Regex(@"\bA=(\d+[/]\d+)").Match(From).Groups[1].Value.Trim()).ToString();

只有从字符串的“ A =”后面提取该行后,该行基本上会获得任何类似于42/13的分数。 所以这是我的问题-是否可以做类似的事情:

string variable;
Regex(@"\b"variable"=(\d+[/]\d+)").Match(From).Groups[1].Value.Trim()).ToString();

这样做的目的是使变量中的任何内容都成为正则表达式,例如,如果在变量中我们输入D,则现在D =现在A =。

谢谢。

2 个答案:

答案 0 :(得分:2)

如果使用反斜杠而不转义,则需要照常连接字符串(+),并在每个字符串前附加@。您也不需要在字符类中将/括为[/]。另外,as mentioned by Josh in his answer和罗恩·拜尔(Ron Beyer)在您的问题下方的评论中,可以使用插值法。

@"\b" + variable + @"=(\d+/\d+)"

另外,您应该对变量使用方法Regex.Escape(),以确保转义了任何特殊字符(这将防止您的模式失败或进行不正确的匹配)-清理变量。

答案 1 :(得分:2)

这是字符串插值。您可以在字符串上使用$运算符来使用它。例子

        string variable = "hello";
        Regex regex = new Regex($@"\b{Regex.Escape(variable)}=(\d+[/]\d+)");



Similar searches
    复制Azure Devops中发布管道的所有阶段中的更改 仅在确定了角度并表示(API)后如何访问页面 从天蓝色逻辑应用程序查询天蓝色表是否存在 有没有一种方法可以根据父级的类别重新定义LESS变量? 如何在Java中测试子类是否相等?