main
parent
8f1542f5d4
commit
dd81b158bf
@ -1,23 +1,46 @@
|
|||||||
package UnitTest;
|
package UnitTest;
|
||||||
|
|
||||||
|
import cn.hutool.core.io.FileUtil;
|
||||||
|
import cn.hutool.core.io.IoUtil;
|
||||||
|
import cn.hutool.core.util.CharsetUtil;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
public class TestRegex {
|
public class TestRegex {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
String text = "应用心理学(6000元/年;以上体检要求,录取时以高考体检表为准)";
|
//按输入顺序进行正则匹配
|
||||||
String regex = "(.*?)\\((\\d+)元/年;(.*)\\)";
|
List<String> regExp = new ArrayList<>();
|
||||||
|
regExp.add("(.*?)\\((\\d+)元/年;(.*)\\)");
|
||||||
|
regExp.add("(.*?)\\((\\d+)元/年\\)");
|
||||||
|
|
||||||
Pattern pattern = Pattern.compile(regex);
|
//模拟需要处理的串
|
||||||
Matcher matcher = pattern.matcher(text);
|
String path = "D:\\dsWork\\FengHuang\\FengHuang\\src\\main\\java\\UnitTest\\TestRegex.txt";
|
||||||
|
byte[] sb = FileUtil.readBytes(new File(path));
|
||||||
|
//内存读写流 不用回收关闭
|
||||||
|
ByteArrayInputStream byteArrayInputStream = IoUtil.toStream(sb);
|
||||||
|
String str1 = IoUtil.read(byteArrayInputStream, CharsetUtil.UTF_8);
|
||||||
|
String[] txtArray = str1.split("\r\n");
|
||||||
|
|
||||||
if (matcher.find()) {
|
for (int i = 0; i < txtArray.length; i++) {
|
||||||
System.out.println("匹配成功!");
|
String str = txtArray[i];
|
||||||
System.out.println("专业名称:" + matcher.group(1));
|
for (int j = 0; j < regExp.size(); j++) {
|
||||||
System.out.println("学费:" + matcher.group(2));
|
String r1 = regExp.get(j);
|
||||||
System.out.println("其他要求:" + matcher.group(3));
|
Pattern pattern = Pattern.compile(r1);
|
||||||
} else {
|
Matcher matcher = pattern.matcher(str);
|
||||||
System.out.println("匹配失败!");
|
if (matcher.find()) {
|
||||||
|
System.out.println("匹配成功!");
|
||||||
|
System.out.println("专业名称:" + matcher.group(1));
|
||||||
|
System.out.println("学费:" + matcher.group(2));
|
||||||
|
if (matcher.groupCount() >= 3) System.out.println("其他要求:" + matcher.group(3));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
应用心理学(6000元/年;以上体检要求,录取时以高考体检表为准)
|
||||||
|
数据科学与大数据技术(6000元/年;不能准确识别红、黄、绿、兰、紫各种颜色中任何一种颜色的导线、按键、信号灯、几何图形者,不予录取。以上体检要求,录取时以高考体检表为准)
|
||||||
|
俄语(6000元/年)
|
Loading…
Reference in new issue