我需要从 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/