如何处理两种情况

时间:2019-06-01 10:00:53

标签: c# regex

我正在尝试使用正则表达式从元数据中获取图像网址:

(?s)<meta property="og:image" content="(.*?)" \/>

URL符合以下条件时,它可以正常工作:

<meta property="og:image" content="https://the_image.jpg" />

但有时此属性的形式为:

<meta property="og:image" content="https://the_image.jpg">

所以,结果是一场灾难。

对于这两种情况如何适应正则表达式,我有些困惑。

有帮助吗?

1 个答案:

答案 0 :(得分:1)

您可以将最后一部分设为可选的非捕获组:

{
"bounding_box": {
"coordinates": [
  [
    [
      -74.026675,
      40.683935
    ],
    [
      -74.026675,
      40.877483
    ],
    [
      -73.910408,
      40.877483
    ],
    [
      -73.910408,
      40.3935
    ]
  ]
],
"type": "Polygon"
}
}

查看regex demo

也许您还可以更新(?s)<meta property="og:image" content="(.*?)"(?: \/)?> ^^^^^^^^ 以使用否定的字符类(.*?)