gpt4 book ai didi

从字符串中提取 id 的 JavaScript 正则表达式适用于 3/5 的情况

转载 作者:行者123 更新时间:2023-12-03 04:18:19 26 4
gpt4 key购买 nike

我有一个正则表达式可以从 Facebook 网址中提取 id。 url 可以是以下任何形式。我还列出了正则表达式的结果。

https://graph.facebook.com/1234567890 >>> 1234567890
https://graph.facebook.com/1234567890:0 >>> 1234567890:0
https://graph.facebook.com/&id=1234567890 >>> 1234567890

这些都很好,也是我想要的。以下是 2 个不是我想要的:

https://graph.facebook.com/1234567890/picture >>> picture
https://graph.facebook.com/1234567890/ >>> 1234567890/

这是我的正则表达式:([^\/|=]*?)(?:\/|:[0-9])?$

从最后 2 个数字中,我想要的是 1234567890。没有尾部斜杠,也没有非数字字符。

  1. 我知道我的正则表达式一直持续到字符串的末尾,因此拉入起始斜杠和字符串末尾“图片”之间的匹配,但我尝试解决此问题但无济于事。
  2. 尾部斜杠似乎也与此相关,但同样,我无法在不破坏原始工作 3 个问题的情况下解决这两个问题。

最佳答案

如何使用一个简单的正则表达式来匹配 URL 中的任何数字,其中可能包含 :。此操作的假设是 URL 不会包含除必须提取的 ID 之外的任何其他 ID

\d+(?::\d+)?
  • \d+ 允许一个或多个数字
  • :\d+ 表示 : 后跟一个或多个数字
  • (?::\d+)? 表示该非捕获组可能存在也可能不存在

Regex101 Demo

关于从字符串中提取 id 的 JavaScript 正则表达式适用于 3/5 的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44055055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com