【问题标题】:How can I exclude the first group from the regex?如何从正则表达式中排除第一组?
【发布时间】:2018-06-27 19:37:12
【问题描述】:

我想从我的正则表达式中排除第一组,这样结果就不再在里面了。有人可以帮帮我吗?

这是我的正则表达式:href="(.*)(?=(?:"))

例如文本:fdlasjfkldjfksdjhref="contact"adskldfjaskfjak

现在我想要这个结果:contact

我不知道我做错了什么......

现在感谢您的帮助!

【问题讨论】:

标签: c# regex


【解决方案1】:

您可以使用肯定的lookbehind(?<= 来断言左侧是href=",然后使用否定的character class[^"]+匹配不匹配双引号,然后是肯定的前瞻(?=断言后面是双引号。

(?<=href=")[^"]+(?=")

【讨论】:

    【解决方案2】:

    我发现这个网站对于测试正则表达式和匹配模式很有用http://www.regexplanet.com/advanced/dotnet/index.html

    我输入了你的表达式和测试字符串示例,它显示 .NET 字符串版本需要是

    "href=\"(.*)(?=(?:\"))"
    

    注意转义的双引号。

    Groups[1] 返回您想要的文本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 2022-01-25
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多