使用RegEx在文件夹路径中查找字符串

时间:2013-05-16 08:38:35

标签: java regex string

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

例如:

C:\Users\user\Documents\mystarfleet34academybadge

我想使用RegEx公式找到“fleet34academy”并在java中输出结果。我是新手使用RegEx公式,所以对常量问题道歉。我已经研究过使用拆分但是我无法让它工作

由于

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

public class Test {
    public static void main(String args[]) {
        String str = "C:\\Users\\user\\Documents\\mystarfleet34academybadge";
        System.out.println(str.contains("fleet34academy"));
    }
}

答案 2 :(得分: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包中有PatternMatcher个类。

Pattern中,我们使用静态方法编译来提供属性,例如匹配什么字符串以及区分大小写等等,您可以在这里查看docs

Matcher对象中,我们传递String,我们必须在其中找到模式。

调用

m.find()来查找模式