【发布时间】:2019-12-22 15:12:57
【问题描述】:
我需要在给定文件名的最后一个下划线后找到两个字符。
示例字符串:
sample_filename_AB12123321.pdf
我正在使用[^_]*(?=\.pdf),但它会找到下划线之后的所有字符,例如AB12123321。
我只需要找到前两个字符AB。
而且,没有办法访问代码,只能修改正则表达式模式。
【问题讨论】:
-
.replaceFirst(".*_(.{2}).*", "$1")?或者使用.*_(.{2})/_([^_]{2})[^_]*$模式匹配并抓取matcher.group(1)。 -
另外,为什么不使用
lastIndexOf?见ideone.com/m2tjmt -
我无法更改 java 代码。我需要修复正则表达式以找到指定的字符
标签: java regex schema.yml