我的文件名为ART-123456-123_GIT.tif
^[^-]+-([^_]+).*
-此正则表达式将输出作为ART-123456
^[^-]+-([^-]+).*
-此正则表达式将输出作为123456
^[^-]+-[^-]+-([^_]+).*
-输出为123
[^_]+.([^.]+).*
-输出为GIT
我想编写一个正则表达式模式来提取所有这四个输出
我尝试了以下方式
(^[^-]+-([^_]+).*)(^[^-]+-([^-]+).*)(^[^-]+-[^-]+-([^_]+).*)([^_]+.([^.]+).*)
然后将输出作为group(0)group(1),但显示错误。我该如何实现?
我想在不同的捕获组中捕获所有ART-123456,123456、123,GIT。
最佳答案
您可以使用以下表达式:
^([^-]+-([^-]+))-([^_]+)_([^.]+)
捕获的组:
Group 1. 0-10 `ART-123456`
Group 2. 4-10 `123456`
Group 3. 11-14 `123`
Group 4. 15-18 `GIT`
您可以尝试here。
关于java - 如何从Java中的相同正则表达式模式获取多个答案,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51908756/