java - 从 URL 正则表达式 java 中提取数字

标签 java regex

我需要从 URL 中提取最后一个数字,后跟破折号。

示例:

http://www.example.com/p-test-test1-a-12345.html

我需要使用正则表达式提取 12345。

我尝试了这个 -\d(.*?).html 这给了我 2345 不知道为什么它会删除 1 任何想法?

最佳答案

它会删除第一个数字,因为您的模式无效,它会捕获 -digit 之后的所有内容

-\d(.*?).html

-\d - 匹配破折号后跟数字

(.*?) - 捕获任何字符(换行符除外)0次或多次,直到满足下一个标记

. - 匹配任何字符(换行符除外)

html - 匹配 html

<小时/>

尝试这个模式:

模式

(?<=-)\d+(?=\.html)

关于java - 从 URL 正则表达式 java 中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370879/

相关文章:

java - 将纯文本输入转换为字符以获得字母的数值移动5?

.csv 格式的正则表达式和定位项

正则表达式负向先行识别 url

download - java上的彩信协议(protocol)

java - 使用自定义事件监听器java

java - 实际上如何使用 GraphStream 在 swing 中绘制图形?

javac - 未找到父类(super class)

JavaScript 正则表达式将 URL 分解为域和路径

javascript - 使用具有零宽度lookbehind的正则表达式在JavaScript中分割字符串

c# - 正则表达式匹配 C# 中的所有大写和下划线