我想知道您是否可以帮我解决以下问题:我正在尝试使用RegEx在文件夹路径中查找字符串。
例如:
C:\Users\user\Documents\mystarfleet34academybadge
我想使用RegEx公式找到“fleet34academy”并在java中输出结果。我是新手使用RegEx公式,所以对常量问题道歉。我已经研究过使用拆分但是我无法让它工作
由于
答案 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包中有Pattern
和Matcher
个类。
在Pattern
中,我们使用静态方法编译来提供属性,例如匹配什么字符串以及区分大小写等等,您可以在这里查看docs。
在Matcher
对象中,我们传递String,我们必须在其中找到模式。
m.find()
来查找模式