第一种 类似于python的re.search("d+","123")
import java.io.*; import java.util.*; import java.util.regex.*; public class test { public static void readFile() throws IOException { //类似于 File f = new File("C:\Users\15773\Desktop\简历投递\新建文本文档.txt"); FileReader reader = new FileReader(f); BufferedReader br = new BufferedReader(reader); //按行读取 String line; String regex="\d+"; while ((line = br.readLine()) != null){ // System.out.println(line); if (line.matches(regex)){//类似于re.search(pattern,string) System.out.println(line+":matching regex"); }else { System.out.println(line+":not matching regex"); } } br.close(); } public static void main(String[] args) throws IOException{ test.readFile(); } }
第二种类似于python的pattern,search,group
这种方式和python一样,适用于需要重复匹配,效率高
import java.io.*; import java.util.*; import java.util.regex.*; public class test { public static void readFile() throws IOException { //第一步确定pattern Pattern pattern = Pattern.compile("(\d+)"); //第二部进行匹配 Matcher matcher = pattern.matcher("phone number is 123445"); if (matcher.find()){ System.out.println("匹配到了 "+ matcher.group(0)); }else{ System.out.println("没有匹配到"); } } public static void main(String[] args) throws IOException{ test.readFile(); } }
import java.io.*; import java.util.*; import java.util.regex.*; public class test { public static void readFile() throws IOException { //第一步确定pattern Pattern pattern = Pattern.compile("([a-zA-Zs]+)(\d+)"); //第二部进行匹配 Matcher matcher = pattern.matcher("phone number is 123445"); if (matcher.find()){ System.out.println("匹配到了 "); System.out.println("这里匹配到的是字符串 "+matcher.group(0)); System.out.println("这里匹配到的是数字 "+matcher.group(1)); }else{ System.out.println("没有匹配到"); } } public static void main(String[] args) throws IOException{ test.readFile(); } }
关于文件读取的操作:https://blog.csdn.net/weixin_43139592/article/details/105283446