- 浏览: 376117 次
- 来自: 北京
文章分类
- 全部博客 (237)
- XML (6)
- JavaSE (39)
- Junit (1)
- Maven (10)
- JavaScript (12)
- JavaEE (16)
- HTML5 (10)
- java多线程 (8)
- Hibernate (30)
- Java反射 (3)
- Spring (11)
- Struts (1)
- svn (2)
- linux (12)
- 代码实例 (1)
- 设计模式 (1)
- UML (1)
- javassist (1)
- Oracle (3)
- Hibernate异常 (9)
- DWR (6)
- Java泛型 (2)
- SpringMVC (11)
- Dbunit (3)
- github (2)
- Algorithm (1)
- zTree (1)
- jquery (7)
- freemarker (4)
- mysql (5)
- ffmpeg (1)
- 编码 (1)
- lucene (15)
- hadoop (1)
- JVM (1)
- Regular Expressions (5)
- myeclipse (1)
- 爬虫 (7)
- 加密 (3)
- WebService (2)
- Socket (2)
- Windows (1)
最新评论
-
wxpsjm:
好直接
HV000030: No validator could be found for type: java.lang.Integer. -
wxhhbdx:
学习了,对新手来说很不错的教程。
SpringMVC入门 (二) 数值传递 -
xgcai:
正好在学dwr
DWR入门 (二)用户实例
这个package下有两个class,一个是Pattern,一个是Matcher
Pattern负责存放正则表达式, 而Matcher存放要读取的数据。
假如我们有一个字符串"hello world", 而我们要查询里面是否包含wo
就是
Pattern p=new Pattern("wo");
//这里讲wo作为正则表达式传输到了Pattern对象里面
Matcher m=p.matcher("hello world");
//这里的“hello world”就是要读取的数据。
接下来我们就可以调用Matcher的方法来获取结果。
首先看一下boolean matches()
文档上写的是:Attempts to match the entire region against the pattern.
也就是说这里要用正则式"wo"来匹配"hello world"整句,因此
m.matches()必定会返回false。
比较常用的方法是boolean find()
Attempts to find the next subsequence of the input sequence that matches the pattern.
这里会对数据对象进行逐个的判断,一旦发现匹配的, 就会返回true。
这里要注意的是当发现匹配的字符串以后, 游标会指向这个字符串后边的位置,
比如:
Pattern p= Pattern.compile("\\d{4}");
Matcher m=p.matcher("2222-333344");
System.out.println(m.find());
System.out.println(m.find());
System.out.println(m.find());
这里会返回 true, true, false
也就是说第一次匹配到2222, 第二次匹配到3333,
这是游标已经到了4这个位置, 也就不会再匹配到任何符合正则式的字符串了。
最终就返回false。
接下来是String group()
这个方法要和find()一起使用,
假如我们在上面的代码的每一个find()的下面加入
System.out.println(m.group());
那么就会显示结果:
2222
3333
Exception in thread "main" java.lang.IllegalStateException: No match found
由于第三个匹配对象不存在, 所以就会抛出异常
通过这个方法我们就可以对文本对象进行解析, 获取自己想要的内容。
Pattern负责存放正则表达式, 而Matcher存放要读取的数据。
假如我们有一个字符串"hello world", 而我们要查询里面是否包含wo
就是
Pattern p=new Pattern("wo");
//这里讲wo作为正则表达式传输到了Pattern对象里面
Matcher m=p.matcher("hello world");
//这里的“hello world”就是要读取的数据。
接下来我们就可以调用Matcher的方法来获取结果。
首先看一下boolean matches()
文档上写的是:Attempts to match the entire region against the pattern.
也就是说这里要用正则式"wo"来匹配"hello world"整句,因此
m.matches()必定会返回false。
比较常用的方法是boolean find()
Attempts to find the next subsequence of the input sequence that matches the pattern.
这里会对数据对象进行逐个的判断,一旦发现匹配的, 就会返回true。
这里要注意的是当发现匹配的字符串以后, 游标会指向这个字符串后边的位置,
比如:
Pattern p= Pattern.compile("\\d{4}");
Matcher m=p.matcher("2222-333344");
System.out.println(m.find());
System.out.println(m.find());
System.out.println(m.find());
这里会返回 true, true, false
也就是说第一次匹配到2222, 第二次匹配到3333,
这是游标已经到了4这个位置, 也就不会再匹配到任何符合正则式的字符串了。
最终就返回false。
接下来是String group()
这个方法要和find()一起使用,
假如我们在上面的代码的每一个find()的下面加入
System.out.println(m.group());
那么就会显示结果:
2222
3333
Exception in thread "main" java.lang.IllegalStateException: No match found
由于第三个匹配对象不存在, 所以就会抛出异常
通过这个方法我们就可以对文本对象进行解析, 获取自己想要的内容。
发表评论
-
Socket编程的HelloWorld实例
2014-11-07 15:05 900public class Client { ... -
ImageIO宋体出现小方框的解决
2014-11-03 16:34 927http://www.blogjava.net/yuanqix ... -
ArrayList根据条件+for循环批量删除的方法
2014-09-23 11:39 2722场景如下: ArrayList<Obj> list ... -
Java内部类的实例化
2014-08-06 15:51 1036class A{ getInstance(){ ... -
通过Thread.sleep把任务平均分配给线程按顺序执行的小例子
2014-07-22 10:46 1083package com.lj.test.JavaSe4; ... -
输入两个整数, 计算百分比
2014-07-21 18:01 1466public static String getPercen ... -
timer cancel方法的一个小实例
2014-07-21 12:14 1134package com.lj.timer; import ... -
通过Calendar获取上个月的最后一天
2014-06-26 12:11 2871Calendar cal=Calendar.getI ... -
通过BigInteger进行数字进制的相互转换
2014-06-24 11:09 25581. 十六进制转换为十进制 BigInteger deci ... -
[转]RSA实例
2014-06-18 17:27 911package com.lj.rsa; import j ... -
[转]sun.misc.BASE64Encoder找不到jar包的解决方法
2014-06-18 15:43 9421.右键项目-》属性-》java bulid path-》jr ... -
空Object转换String的陷阱
2014-06-17 15:45 807Object a=null; String b ... -
Java Convert Long to Date
2014-06-16 18:06 770问题: I have list with long value ... -
[转]JAVA中List&Set转换
2014-06-07 14:23 528JAVA中List&Set转换 list = new ... -
aes加密时的Illegal key size or default parameters
2014-06-06 14:21 4199KeyGenerator kgen = KeyGenerat ... -
String.replaceLast()
2014-06-03 16:02 1096http://stackoverflow.com/questi ... -
通过正则表达式来获取json数值
2014-05-23 11:39 13private String getJsonValue(Str ... -
java找不到或无法加载主类
2014-05-19 13:21 1283用CMD运行java +类名, 居然碰到这个问题。 编译是没有 ... -
Java转义字符笔记 |
2014-01-12 21:01 918数据库有一个关键字列-keyword,里面存放的关键字格式如下 ... -
char和int类型相互转换
2013-12-10 18:43 1376今天看到别人使用一个方法 ->String.indexO ...
相关推荐
jakarta-oro.jar 及代码 import org.apache.oro.text.regex.MalformedPatternException; import org.apache.oro.text.regex.MatchResult; import org.apache.oro.text.regex...import org.apache.oro.text.regex.Util;
在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在Java项目中使用正则表达式的流程,它提供了一系列内置的验证、提取和清洗方法,使得处理字符串...
Reading the javadoc forjava.util.regex. Pattern is a must to see how the Java regex patterns aredi erent from other languages such as Perl. Most of the functions discussed herin are from thejava....
探索 Java 正则表达式语法的更多细节,并了解Pattern类中的引擎如何实际解释正则表达式。 不是通过文档(通过合同)推断正则表达式的含义,这允许我们直接验证引擎如何解释正则表达式。 自该项目开始(2014 年 2 ...
java.util.regex.Pattern p_script; java.util.regex.Matcher m_script; java.util.regex.Pattern p_style; java.util.regex.Matcher m_style; java.util.regex.Pattern p_html; java.util.regex.Matcher m_html; ...
在Java中,正则表达式(Regex)是通过Pattern类和Matcher类来实现的,这两个类位于java.util.regex包中。下面我们将深入探讨Java正则表达式的基本概念、语法、常见使用方法以及如何在实际开发中应用。 1. **基本...
15. **`java.util.regex.Pattern`** 和 **`java.util.regex.Matcher`**: 正则表达式处理。 16. **`java.util.Scanner`**: 从各种输入源读取基本类型和字符串。 17. **`java.util.Properties`**: 用于存储配置信息...
### Java.util.Scanner 应用详解 #### 一、概述 `java.util.Scanner` 类是 Java 标准库中的一个实用工具类,它提供了一种方便的方式来读取基本类型的原始数据和字符串。`Scanner` 类可以读取从控制台输入的数据、...
java.util.regex java.util.zip javax.accessibility javax.activity javax.crypto javax.crypto.interfaces javax.crypto.spec javax.imageio javax.imageio.event javax.imageio.metadata javax.imageio...
7. **`java.util.regex.Pattern`** 和 **`Matcher`**:处理正则表达式,用于文本匹配和替换。 8. **`java.util.concurrent`** 包:提供并发工具类,如`ExecutorService`、`Future`和`Semaphore`,帮助管理线程和...
23. `java.util.regex.Pattern`:Pattern类用于编译正则表达式,用于匹配字符串。 24. `java.io.Serializable`:Serializable接口用于对象序列化,允许对象的状态被保存和恢复。 25. `java.util.LinkedList`:...
import java.util.regex.PatternSyntaxException; import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans....
import java.util.regex.*; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; //import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; //import org.dom4j....
11. **`java.util.regex`包**:支持正则表达式,可以用于字符串的匹配、替换和分割。 12. **`java.util.stream`**:Java 8引入的流API,用于处理集合数据,提供了函数式编程风格,如map、filter、reduce等操作。 ...
10. `java.util.regex` 包: - 提供正则表达式相关的类和接口,如`Pattern`和`Matcher`,用于文本匹配和操作。 11. `java.util.stream`: - Java 8引入的流API,支持函数式编程风格,可以方便地进行数据处理,如...
java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto javax.crypto.interfaces javax.crypto...
此外,`java.util.regex`包提供了正则表达式相关的工具,用于字符串匹配和替换。 8. **数学运算**: `java.lang.Math`类提供了一系列数学运算方法,如平方根、指数、对数、随机数生成等。`java.util.Random`类则...
20. **`java.util.regex`** 包:正则表达式处理,用于字符串的匹配和替换。 21. **`java.util.Comparator`**:用于自定义排序规则,可以比较对象并定义比较逻辑。 22. **`java.util.ArrayList`** 和 **`java.util....
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...
java.util.regex java.util.spi java.util.zip javax.accessibility javax.activation javax.activity javax.annotation javax.annotation.processing javax.crypto javax.crypto.interfaces javax.crypto...