如何创建正则表达式函数以 select 提取查询?

how to create regex function to select an extract a query?

我正在尝试从字符串中提取查询,我尝试编写自己的函数,但它并不完全符合我的需要。 我需要的是:

www.website.com/8056432988456?id=5,我需要 8056432988456,有或没有 /,即在 ?.

之前

这是我为它制作的正则表达式:(?<=\/)(.*?)(?=\?)|(?<=\?)

有人可以帮我吗?

您可以使用

(?<=\/)\d+(?=(?:\/?\?.*)?$)

参见regex demo

详情:

  • (?<=\/) - 左边一定有一个/
  • \d+ - 一位或多位数字
  • (?=(?:\/?\?.*)?$) - 在右边,必须有一个可选的出现:
    • (?:\/?\?.*)? - 可选 / 的可选出现,然后是 ?,然后是除换行符以外的任何零个或多个字符尽可能多
    • $ - 字符串结尾。