我想在此字符串之间-
和之中_
以正则表达式模式提取第二个匹配器:
VA-123456-124_VRG.tif
Run Code Online (Sandbox Code Playgroud)
我试过这个:
Pattern mpattern = Pattern.compile("-.*?_");
Run Code Online (Sandbox Code Playgroud)
但我得到123456-124
了Java中的上述正则表达式.
我只需要124
.
我怎样才能做到这一点?
我将在这里使用正式的模式匹配器,尽可能具体。我会使用这个模式:
^[^-]+-[^-]+-([^_]+).*
Run Code Online (Sandbox Code Playgroud)
然后检查第一个捕获组是否有可能的匹配。这是一个工作代码片段:
String input = "A-123456-124_VRG.tif";
String pattern = "^[^-]+-[^-]+-([^_]+).*";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(input);
if (m.find()) {
System.out.println("Found value: " + m.group(1) );
}
124
Run Code Online (Sandbox Code Playgroud)
顺便说一句,有一个单衬也可以在这里工作:
System.out.println(input.split("[_-]")[2]);
Run Code Online (Sandbox Code Playgroud)
但是,这里需要注意的是,它不是很具体,并且可能对您的其他数据失败。
归档时间: |
|
查看次数: |
121 次 |
最近记录: |