【问题标题】:Optional trailing slash in regex正则表达式中的可选斜杠
【发布时间】:2017-02-12 11:18:30
【问题描述】:
https://embed.thatsite.com?id=
https://embed.thatsite.com/?id=

我试图在 ?id= 之前将斜杠作为可选参数

我试过了

https?:\/\/embed\.([^\/]*)\.com\/\?id=([0-9]+) //works with slash only
https:\/\/embed\.([^\/]*)\.com\?id=([0-9]+) //works without slash

所以,?id= 之前的斜杠应该是可选的,因为embed.thatsite.com 会随着两种 url 类型的变化而变化。有什么方法可以使它工作。谢谢

【问题讨论】:

  • 你可以让你的` optional using ?`regex101.com/r/lsqEp6/1
  • 您正在使用正则表达式 ?(零或一)来使用查询字符串字符 ? - 所以你需要两者:)
  • 谢谢你们,你们太棒了!

标签: regex trailing-slash


【解决方案1】:

您可以使用?/ 设为可选

https?:\/\/embed\.([^\/]*)\.com\/?\?id=([0-9]+)

https?:\/\/embed\. 匹配 http\\embed.https\\embed. 其中 s 是可选的 ?

([^\/]*) 匹配除/ 之外的所有内容

\.com\/?\? 匹配 .com 和可选的 /? 字符

id=([0-9]+) 匹配id= 并尽可能多地捕获数值

Regex Demo

【讨论】:

  • 也非常感谢我不知道的 regex101 网站
  • @Gazi 我很高兴能帮上忙,编码愉快
【解决方案2】:

这应该可行:

https?:\/\/embed\.([^\/]*)\.com\/?\?id=([0-9]+)

这里,斜线用 ? 修饰符更改,它将匹配前一个字符 (/) 0 或 1 次。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 2011-03-09
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-12
    相关资源
    最近更新 更多