正则表达式: 了解
具有标记语言的语法格式
严谨
用正则的语法来描述具有特殊规则字符串
是一个门语言,具有自己的语法
作用:查找,匹配,校验,分隔...
java中使用正则
1.String类中一些支持正则表达式语法的方法
String[] split(String regex) 将此字符串拆分为给定 regular expression的匹配 项 。
String replaceAll(String regex, String replacement) 将给定替换的给定 regular expression匹配的此字符串的每个子字符串替换。
String replaceFirst(String regex, String replacement) 将给定替换的给定 regular expression匹配的此字符串的第一个子字符串替换。
boolean matches(String regex) 判断此字符串是否与给定的 regular expression匹配。
2.模式器 Pattern
匹配器 Matcher
代码:
public class Class002_Regex {
public static void main(String[] args) {
String reg=".{3}(a{1,2}\\d{2})(hello|hi)";
String str="asdaa12hellodsaa34hi";
//1. String类中一些支持正则表达式语法的方法
System.out.println(Arrays.toString(str.split("\\.")));
System.out.println(str.replaceAll("\\.","*"));
//boolean matches(String regex) 判断此字符串是否与给定的 regular expression匹配。--->完整匹配
if (str.matches("\\d{3}")){
System.out.println("匹配");
}
//2.模式器 Pattern
Pattern pattern= Pattern.compile(reg);
Matcher matcher=pattern.matcher(str);
//find() 判断是否存在满足条件的子串
while (matcher.find()){
//group() 获取当前查找到的子串
System.out.println("查找到的子串"+matcher.group()+"--->"+matcher.group());
//group(index) 获取当前子串中第几组缓存的内容
System.out.println("分组缓存内容: "+matcher.group(1)+"--->"+matcher.group(2));
}
}
}
XML:标记语言
标记语言的注释
1.xml是一个标记语言 <英文单词>
2.xml文件中标签可以根据需求自定义
3.xml文件的首行必须存在版本声明
4.xml文件中有且仅有一个跟标签|根元素 Persons,所有的子内容都定义在根元素中
5.xml的作用: 传输,存储,配置,解析...
6.属性: 开始标签上定义属性
属性可以帮助更完整|完善的展示标签的作用
7.标签的分类:
单标签|自闭和标签
双标签|闭合标签
xml文件 : 识别xml语言格式
xml文件的作用:传输,存储,配置,解析...
xml的解析
语法定义:可以自定义标签 根据约束规范标签的定义语法 DOM SAX DOM4J
1.查询,遍历 1)创建流,加载xml文件 2)获取Document对象 3)遍历 2.写出 3.创建 4.删除或者修改
代码:
public class Class002_XML {
public static void main(String[] args) throws DocumentException, IOException {
writeToFile(update(getDocument("src/yjxxt.xml")),"src/yjxxt.xml");
}
//修改与删除
public static Document update(Document document){
//1.找到id属性值为2的元素,删除子标签tuition
Element root = document.getRootElement();
List<Element> list = root.elements();
list.forEach(e->{
String idValue = e.attributeValue("id");
if(idValue.equals("2")){
//父节点.remove(子节点)
Element removeElement = e.element("tuition");
e.remove(removeElement);
}
});
//2.找到shyjxxt,学费涨价1w
Element shyjxxt = root.element("shyjxxt");
Element tuition = shyjxxt.element("tuition");
tuition.setData(Integer.parseInt(tuition.getText())+10000);
return document;
}
//写出
public static void writeToFile(Document document,String path) throws IOException {
//1. 构建XMLWriter
XMLWriter writer = null;
//2.构建输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new XMLWriter(new FileWriter(path),format);
//3.写出
writer.write(document);
//4.刷出
writer.flush();
//5.关闭
writer.close();
}
//写出
public static void writeToFile(Document document,String path) throws IOException {
//1. 构建XMLWriter
XMLWriter writer = null;
//2.构建输出格式
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new XMLWriter(new FileWriter(path),format);
//3.写出
writer.write(document);
//4.刷出
writer.flush();
//5.关闭
writer.close();
}
public static Document createDocument(){
//1.创建Document
Document document = DocumentHelper.createDocument();
//2.添加根元素
Element root = document.addElement("yjxxt");
//3.根元素中添加子元素
Element shyjxxt = root.addElement("shyjxxt");
Element bjyjxxt = root.addElement("bjyjxxt");
shyjxxt.addElement("location").addText("上海市浦东新区");
shyjxxt.addElement("date").addText("2021-10-10");
bjyjxxt.addElement("location").addText("北京市朝阳区");
bjyjxxt.addElement("date").addText("2022-12-12");
return document;
}
//遍历
public static void print(Document document){
// 3)遍历
//获取根节点
Element root = document.getRootElement();
System.out.println("根元素标签名"+root.getName());
//获取子元素
List<Element> list = root.elements();
//遍历子元素
list.forEach(e->{
System.out.println("标签名 : "+e.getName() + "-->id属性 = "+e.attributeValue("id"));
//迭代所有子元素的迭代器
Iterator<Element> it = e.elementIterator();
while(it.hasNext()){
Element ele = it.next();
System.out.println(ele.getName()+"---->"+ele.getData());
}
});
}
//加载xml文件 , 获取Docuemnt
public static Document getDocument(String path) throws DocumentException {
//1)创建流,加载xml文件
SAXReader reader = new SAXReader();
// 2)获取Document对象
Document document = reader.read(new File(path));
return document;
}
}
xml约束–> 了解