Java 用于提取特定字符串的正则表达式

Java 用于提取特定字符串的正则表达式,java,Java,我有以下字符串,从这个我只提取 下面是LSA、列表、BROWSER2、Marmiton、BROWSER。这意味着扩展名.log之后的字符串。 我怎么能做到 /opt/Seloger/.RFC_LSA.log /opt/Seloger/.RFC_List.log /opt/Seloger/.RFC_RDK_BROWSER2.log /opt/Seloger/.RFC_List_src_Marmiton.log /opt/Seloger/.RFC_RDK_BROWSER.log 我不

我有以下字符串,从这个我只提取 下面是LSA、列表、BROWSER2、Marmiton、BROWSER。这意味着扩展名.log之后的字符串。 我怎么能做到

 /opt/Seloger/.RFC_LSA.log
 /opt/Seloger/.RFC_List.log
 /opt/Seloger/.RFC_RDK_BROWSER2.log 
  /opt/Seloger/.RFC_List_src_Marmiton.log
 /opt/Seloger/.RFC_RDK_BROWSER.log

我不知道正则表达式,但这种方法也会起作用

1) 获取下划线的最后一个索引:-

int last=str.lastIndexOf('_');
2) 获取“.”的最后一个索引

int lastD=str.lastIndexOf('.');
3) 使用substring函数获取所需的字符串

String result=str.substring(last+1,lastD);
您还可以通过编写代码来缩短代码

String result=str.substring(str.lastIndexOf('_')+1,str.lastIndexOf('.'));

您可以使用以下使用正向前瞻的正则表达式:

[^_/]+(?=\.)

下面是演示:

您尝试了什么,甚至indexOf和substring都可以做到这一点