在正则表达式中捕获变量字符串?

发布于 2024-11-28 12:10:31 字数 451 浏览 2 评论 0原文

在 C# 中,我尝试将以下捕获模式与变量一起使用 - 我想知道我是否会犯这个错误。 info_name 是我传递给该方法的字符串变量。

    Regex g = new Regex(@"""" + info_name + """>.+</span>");
    // capture "info">Capture pattern</span>

但它给了我一个错误,“)”预期大约在一半。这不会给出错误:

    Regex g = new Regex(@"""" + info_name +">.+</span>");
                                         //^ 1 quote, not 3

我不能使用它作为解决方案,我需要在标签结束之前捕获“。

In C#, I'm attempting to use the following capture pattern with a variable - I wonder if I'm going about this wrong. info_name is a string variable I pass to the method.

    Regex g = new Regex(@"""" + info_name + """>.+</span>");
    // capture "info">Capture pattern</span>

But it gives me an error, ')' expected about halfway through. This gives no error:

    Regex g = new Regex(@"""" + info_name +">.+</span>");
                                         //^ 1 quote, not 3

I can't use this as a solution, I need to capture the " just before the close of the tag.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

完美的未来在梦里 2024-12-05 12:10:31

您在那里使用了两个字符串文字,因此您需要两次应用 @

Regex g = new Regex(@"""" + info_name + @""">.+</span>");

// or alternatively
Regex g = new Regex("\"" + info_name + "\">.+</span>");

You're using two string literals there, so you need to apply the @ both times:

Regex g = new Regex(@"""" + info_name + @""">.+</span>");

// or alternatively
Regex g = new Regex("\"" + info_name + "\">.+</span>");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文