0

我想知道您能否帮我解决以下问题:我正在尝试使用 RegEx 在文件夹路径中查找字符串。

例如:

C:\Users\user\Documents\mystarfleet34academybadge

我想使用 RegEx 公式找到“fleet34academy”并在 java 中输出结果。我是使用 RegEx 公式的新手,因此对不断出现的问题表示歉意。我已经研究过使用 split 但我无法让它工作

谢谢

4

3 回答 3

2

尝试这个:

String pattern = ".*mystar(.*)badge";
System.out.println("C:\\Users\\user\\Documents\\mystarfleet34academybadge".replaceAll(pattern, "$1")); 

输出:

fleet34academy

更新

String pattern = "^.*mystar(fleet[0-9]*academy)badge.*$";
System.out.println("C:\\Users\\user\\Documents\\mystarfleet110academybadge".replaceAll(pattern, "$1"));

输出:

fleet110academy
于 2013-05-16T08:50:58.927 回答
0
public class Test {
    public static void main(String args[]) {
        String str = "C:\\Users\\user\\Documents\\mystarfleet34academybadge";
        System.out.println(str.contains("fleet34academy"));
    }
}
于 2013-05-16T08:45:13.833 回答
0

检查这个片段

import java.util.regex.Matcher;
import java.util.regex.Pattern;

class New {
public static void main (String [] args) 
{
        String str="fleet34academy";

        String path="C:\\Users\\user\\Documents\\mystarfleet34academybadge";

        Pattern p = Pattern.compile(str,Pattern.CASE_INSENSITIVE|Pattern.LITERAL);
        Matcher m = p.matcher(path);
        while (m.find()) 
        {
            System.out.print("Start index: " + m.start());
            System.out.print(" End index: " + m.end());
            System.out.println(" Found: " + m.group());
        }



}
}

我们在 java.util.regex 包中有Pattern和类。Matcher

Pattern我们使用静态方法编译来输入属性,例如匹配什么字符串以及是否区分大小写等,您可以在此处查看文档

Matcher对象中,我们传递了我们必须在其中找到模式的字符串。

m.find()被调用来寻找模式

于 2013-05-16T08:54:37.267 回答