我想从 url/filepath 中提取一个 id
路径可以是:
images/tJpwYL9baWgH56USKZwqTz7QM9g1_48x48.png 或者 https://.../.../images/tJpwYL9baWgH56USKZwqTz7QM9g1_150x150.png
我想提取唯一的 ID(在本例中为tJpwYL9baWgH56USKZwqTz7QM9g1)到目前为止我想出了以下表达式:
([^\/]+[_$])
这包括 _ ,所以我得到tJpwYL9baWgH56USKZwqTz7QM9g1_
我怎样才能做到这一点并排除_?
您可以使用
([^\/]+)_\d+x\d+\.png
[^\/]+(?=_\d+x\d+\.png)
Run Code Online (Sandbox Code Playgroud)
([^\/]+) - 捕获组 1:一个或多个字符,而不是 /_ - 下划线\d+x\d+\.png- 一位或多位数字、x一位或多位数字、.png字符串(?=_\d+x\d+\.png) - 正向前瞻,要求上述模式立即出现在当前位置的右侧(因此,匹配的文本不会添加到匹配值中)此外,您可能会考虑使用更简单的模式,如
([^\W_]+)_
[^\W_]+(?=_)
Run Code Online (Sandbox Code Playgroud)
看到这个和这个模式演示。该[^\W_]+模式匹配一个或多个字母或数字,(?=_)匹配紧跟一个_字符的位置。
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |