java基础正则、XML

来源:互联网 发布:什么时候开放网络购彩 编辑:程序博客网 时间:2024/06/05 05:54

REGEX:

ava.util.regex 包主要包括以下二个类:

Pattern 类:

pattern 对象是一个正则表达式的编译表示。

Pattern 类没有公共构造方法。要创建一个Pattern 对象,

你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

常用的方法:

compile(String regex) 将给定的正则表达式编译到模式中。

matches(String regex, CharSequenceinput)  编译给定正则表达式并尝试将给定输入与其匹配。

matcher(CharSequence input)  创建匹配给定输入与此模式的匹配器。

Matcher 类:

Matcher 对象是对输入字符串进行解释和匹配操作的引擎。

与Pattern 类一样,Matcher 也没有公共构造方法。

你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

常用方法:

find() 尝试查找与该模式匹配的输入序列的下一个子序列。

字符串中支持正则表达式的常用方法:

matches(String regex):将字符串与指定的正则表达式进行匹配,匹配成功返回true,否则返回false

 replaceAll(String regex, String replacement)

 使用给定的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

 replaceFirst(String regex, String replacement)

 使用给定的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

 split(String regex)     根据给定正则表达式的匹配拆分此字符串。   

正则表达式:

 匹配次数的符号: *:0次或多次--->{0,}

   +:1次或多次--->{1,}

   ?: 0次或1次--->{0,1}

   {n}:恰好出现n次

   {n,m}:最少出现n次,最大出现m次

 {n,}:最少出现n次

 常用的符号:

 . 任何字符(与行结束符可能匹配也可能不匹配)

 \d 数字:[0-9]

 \D 非数字: [^0-9]

 \s 空白字符:[\t\n\x0B\f\r]

 \S 非空白字符:[^\s]

 \w 单词字符:[a-zA-Z_0-9]--->字母,数组和下划线

 \W 非单词字符:[^\w]

  字符类:

 [abc] a、b 或 c(简单类)

 [^abc] 任何字符,除了 a、b 或 c(否定)

 [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

字符串支持正则表达式的方法

 matches(String regex):将字符串与指定的正则表达式进行匹配,匹配成功返回true,否则返回false

网络爬虫:将网易主页源码上的超级链接提取出来。

 1.获取网页主页的源码

 2.使用正则表达式进行匹配源码,将超级链接提取

XML:

DOM(Document Object Model)文档对象模型

 DOM的特点:

 需要一次性将xml文件加载内存中,常驻内存,对内存资源占用较大,适合多次访问的XML解析

 DOM解析的步骤

 1.创建一个解析器工厂对象

 2.创建一个解析器

 3.使用解析器对xml文件进行解析,将xml文档构成一个Document并返回

 4.以Document为基础,遍历其中的内容以获取和操作响应的节点和数据

 DOM4J:开源项目(针对XML进行解析和操作的开源API)

 使用DOMJ解析XML步骤:

  1.添加dom4j的类库:先将dom4_xx.jar复制到项目中,选择dom4j_xx.jar右键:buildpath--->add to build path

  2.指定要解析的XML文件

  3.将XML文件转换为Document对象(文档树)

  SAXReader saxReader = new SAXReader();

  Doucment document = saxReader.read(file);

 4.遍历Document中的元素,获取其属性,文本节点中内容。

  Document中的常用方法

  getRootElement():获取文档中的根节点

  Element中的常用方法

  elementIterator():获取该元素的所有子元素

  attributeValue(String attrName):根据属性名称获取该属性的值

  getName():获取该元素的元素名称

getText():获取该元素的文本节点

通过dom4j生成一个xml文件

 

1.      创建Document对象(空的文档数) 2.向Document对象中添加子节点和属性 3.通过XMLWriter和IO流将document写入文件中

原创粉丝点击