在正则表达式中插入变量

时间:2019-01-13 18:06:55

标签: c# regex

我正在尝试在下面的正则表达式中使用变量,但无法获得正确的输出。

   (?<=="Page 2" class="fl" href=")(.*?)(?=\"><span class=\"csb)

- 我在下面尝试过,但不确定我错过了什么。

(("?<== \"Page "+ pages++ + "\" class=\"fl\" href=\"")"(.*?)"(?=\"><span class=\"csb"));

-

我如何实现?

编辑:

   aria-label="Page 2" class="fl" href="/search?q=.net+regex+tester&amp;ei=p3Q7XNzkBt6RwgPrga-YBQ&amp;start=10&amp;sa=N&amp;ved=0ahUKEwic1OvFo-vfAhXeiHAKHevAC1MQ8tMDCHw"><span class="csb ch"

- 添加了源代码。

1 个答案:

答案 0 :(得分:1)

我们需要在这个问题上进行观察,而不是“如何编写正确的正则表达式查询”。

就像整个c#regex变量(对象)一样。

您在C#中的代码看起来像(加了双引号)

var reg = new Regex(@"(?<==""Page 2"" class=""fl"" href="")(.*?)(?=\""><span class=\""csb)");

因此,我们需要String.Format正则表达式字符串查询,例如

var reg = new Regex($@"(?<==""Page {page}"" class=""fl"" href="")(.*?)(?=\""><span class=\""csb)");

顺便说一句,如果我们正在谈论解析html,则强烈不建议使用正则表达式。 More info