我想知道您能否帮我解决以下问题:我正在尝试使用 RegEx 在文件夹路径中查找字符串。
例如:
C:\Users\user\Documents\mystarfleet34academybadge
我想使用 RegEx 公式找到“fleet34academy”并在 java 中输出结果。我是使用 RegEx 公式的新手,因此对不断出现的问题表示歉意。我已经研究过使用 split 但我无法让它工作
谢谢
尝试这个:
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
public class Test {
public static void main(String args[]) {
String str = "C:\\Users\\user\\Documents\\mystarfleet34academybadge";
System.out.println(str.contains("fleet34academy"));
}
}
检查这个片段
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()
被调用来寻找模式