我想从url/filepath 中提取一个id
路径可以是:
images/tJpwYL9baWgH56USKZwqTz7QM9g1_48x48.png
或https://.../.../images/tJpwYL9baWgH56USKZwqTz7QM9g1_150x150.png
我想提取唯一的ID(在这种情况下tJpwYL9baWgH56USKZwqTz7QM9g1(到目前为止,我想出了以下表达式:([^/]+[_$])
然而,这包括_,所以我得到tJpwYL9baWgH56USKZwqTz7QM9g1_
如何做到这一点并排除_?
您可以使用
([^/]+)_d+xd+.png
[^/]+(?=_d+xd+.png)
请参阅此和此regex演示。详细信息:
([^/]+)
-捕获组1:除/
之外的一个或多个字符_
-下划线d+xd+.png
-一位或多位,x
,一位或数位,.png
字符串(?=_d+xd+.png)
-一个正向前瞻,需要上面描述的模式立即出现在当前位置的右侧(因此,匹配的文本不会添加到匹配值中(
此外,您可能会考虑使用更简单的模式,如
([^W_]+)_
[^W_]+(?=_)
请参阅此和此模式演示。[^W_]+
模式匹配一个或多个字母或数字,(?=_)
匹配紧跟着_
字符的位置。