Java 用于提取特定字符串的正则表达式
我有以下字符串,从这个我只提取 下面是LSA、列表、BROWSER2、Marmiton、BROWSER。这意味着扩展名.log之后的字符串。 我怎么能做到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 我不
/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都可以做到这一点