易截截图软件、单文件、免安装、纯绿色、仅160KB

java正则表达式中的数量词

    java中的正则位于java.util.regex包中,这个包中只有一个MatchResult接口和Matcher、Pattern两个类。
   正则中的数量词有Greedy (贪婪)、Reluctant(懒惰)和Possessive(强占)三种
  
 Greedy 数量词
X?
X,一次或一次也没有
X*
X,零次或多次
X+
X,一次或多次
X{n}
X,恰好 n 次
X{n,}
X,至少 n 次
X{n,m}
X,至少 n 次,但是不超过 m 次
Greedy是最常用的,它的匹配方式是先把整个字符串吞下,然后匹配整个字符串,如果不匹配,就从右端吐出一个字符,再进行匹配,直到找到匹配或把整个字符串吐完为止。
Matcher m=Pattern.compile("a.*b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
输出:
a====b=========b
因为总是从最大 匹配开始匹配,故称贪婪。
 
Reluctant 数量词
X??
X,一次或一次也没有
X*?
X,零次或多次
X+?
X,一次或多次
X{n}?
X,恰好 n 次
X{n,}?
X,至少 n 次
X{n,m}?
X,至少 n 次,但是不超过 m 次
Reluctant正好和Greedy相反,它先从最小匹配开始,先从左端吞入一个字符,然后进行匹配,若不匹配就再吞入一个字符,直到找到匹配或将整个字符串吞入为止。
Matcher m=Pattern.compile("a.*?b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
输出:
a====b
 因为总是从最小匹配开始,故称懒惰。
Possessive 数量词
X?+
X,一次或一次也没有
X*+
X,零次或多次
X++
X,一次或多次
X{n}+
X,恰好 n 次
X{n,}+
X,至少 n 次
X{n,m}+
X,至少 n 次,但是不超过 m 次
Possessive和Greedy的匹配方式一样,先把整个字符串吞下,然后匹配整个字符串,如果匹配,就认为匹配,如果不匹配,就认为整个字符串不匹配,它不会从右端吐出一个字符串再进行匹配,只进行一次
Matcher m=Pattern.compile("a.*+b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
输出:

因为贪婪但并不聪明,故称强占。


相关文档:

Java 读取其他网页

<%
 URL url = new URL("http://www.itpub.net");
//建立URL对象,并实例化为url,获得要抓取的网页地址
 BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"GB2312"));
//建立BufferedReader对象,并实例化为reader,这里的GB2312是要抓取的网页编码格式
 whi ......

【IBM需求信息】 JAVA, C/UNIX需求

大家好,这里有IBM的三个长期需求:均是需要2年以上相关工作经验,其中Java以及Testing需要英语可以交流,C/Unix不需要语言。
Java 大连
描述:Java programming, knowledge in J2SE, SWT/JFace, XML. Eclipse programming, knowledge in eclipse architecture. Clear understanding of plugin development. Hands-on exp ......

选择java后的那些事.....


这两天学校开始让我们这一大批高费生选择自己的专业方向,Focuser

经过好几个年头的思考,并且在我们亲爱c#老师热情的向
我们介绍.net的前景后,毅然坚定的选择了java这条自己认为前程似锦的道路。以下的这些网站是我平时经常访问的一些国外的英文java网站,今天特
地的发布给大家,希望我们能够真正的学习到jav ......

java实现的FTP上传下载客户端

org.apache.commons.net.ftp.*中的FTPClient类实现的FTP上传下载功能:
需导入Apache的commos-net的jar包,若导入的是1.4版本的包,则FTPFile[] fileList = ftpClient.listFiles()的执行过程中可能会报错,此时更换导入2.0版本的jar包,问题即可解决。
代码如下:
package com.java.ftp;
import java.io.File;
import ......

JAVA计算机代码

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class j5_13 extends Applet implements ActionListener
{
  Panel p=new Panel();//新建布局
  Label welcome,la1,li1,la2,li2,lresult;//提示标签,符号标签以及计算结果的标签
  TextField ta,tb,t ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号