ai didi

javascript - JS : regex pattern "? OR end of string"

转载 作者:行者123 更新时间:2023-11-30 07:04:40 24 4
gpt4 key购买 nike

字符串有两种不同的类型,我对每种字符串都有一个解决方案,但我正在寻找一个组合的解决方案。对于两者,我都需要 ID“28ae569”。

解决使用:/.*\/.*-(.*)\?/

解决使用:/.*\/.*-(.*)$/

所以我要告诉正则表达式的是 '?或字符串结尾'。

我试过使用“\?|$”但它没有用,它给了我整个“28ae569?param1=category~%5b715507%7c208524%5d&bi=1&ps=200”在第一种情况下。我还尝试了一些其他组合,但我现在是在黑暗中射箭。

最佳答案

在使用管道 (|) 进行交替时,您需要更加具体。您可以使用以下正则表达式:

/([a-f\d]{3,})(?:\?|$)/i

([a-f\d]{3,}) 匹配所需的十六进制字符串。它还确保字符串的长度至少为 3 个字符。您可以根据您的要求进行调整,或者如果您不介意捕获像 0 这样的个位数字符串,则只需将量词更改为 +

请注意交替周围的括号:(?:\?|$) — 它指定它应该匹配 ? 字符串的结尾。 (?:...)non-capturing group .

对于您之前的正则表达式,这意味着:匹配 .*\/.*-(.*)\? 字符串的末尾,即不是你想要的。

RegEx Demo

关于javascript - JS : regex pattern "? OR end of string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25333635/

24 4 0
文章推荐: javascript - switch语句等于===还是==?
文章推荐: javascript - IN语句jquery
文章推荐: javascript - JS - 如何将 child 附加到对象中
文章推荐: javascript - 在具有许多 iframe 的文档中查找焦点元素
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com