regex之用于提取 URL 的字母数字部分的正则表达式

pengyingh 阅读:197 2025-06-02 22:19:02 评论:0

给定任何 URL,例如:

https://stackoverflow.com/v1/summary/1243PQ/details/P1/9981 

如何提取 URL 的数字或字母数字部分? IE。来自上面给出的 url 的以下字符串:

1. v1 
2. 1243PQ 
3. P1 
4. 9981 

换句话说,一个从字符串 (URL) 中提取字符串的正则表达式,该字符串具有至少 1 个数字和 0 个或多个字母字符,由 '/' 分隔。

我试图捕获重复组 (^[a-zA-Z0-9]+)+([a-zA-Z]{0,100}[0-9 ]{1,100})+ 但它没有用。事后看来,直觉确实表明这不应该起作用。我不确定如何匹配一组模式,而不仅仅是单个字符。

请您参考如下方法:

如果我明白你真正想要的是什么:

Extracting parts with only numbers or with numbers following alphabets

然后;我可以建议这个正则表达式:

\b[a-zA-Z]*[0-9]+[a-zA-z]*\b 

Regex Demo

我使用 \b 断言单词边界或部分的位置。
由于需要数字并且字母可以出现在数字之前或之后,所以我使用上面的正则表达式。

如果不需要以下字母那么我可以建议这个正则表达式:

\b[a-zA-z0-9]*[0-9]+[a-zA-Z0-9]*\b 

Regex Demo


声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号