JDK6笔记(3)----正则表达式

一、正则表达式的编译形式
1)指定为字符串的正则表达式必须首先被编译为此类的实例。compile
2)将得到的模式用于创建Matcher对象。matcher
3)依照正则表达式,该对象可以于任意字符序列匹配。matches
例:
Pattern p=Pattern.compile("a*b");
Matcher m=P.matcher("aaaaab");
boolean b=m.matches();
二、规则
1)字符类
.   表示任何字符
[abc]   包含a、b、c的任何字符  (和a|b|c相同)
[^abc]   除a、b、c之外的任何字符 (否定)
[a-zA-Z]  任何从a到z或从A到Z的字符 (范围)
[abc[hij]]  任意a、b、c、h、i、j字符 (与a|b|c|h|i|j相同)(合并)
[a-z&&[hij]]  任意h、i、j字符  (交)
/s   whitespace符   (空格、tab、换行、换页、回车)
/S   非whitespace符  ([^/s])
/d   数字[0-9]
/D   非数字[^0-9]
/w   word character  ([a-zA-Z_[0-9])
/W   非word character  (^/w)
2)在Java中,“//”意味着正在插入一个正则表达式的反斜杠,随后的字符具有特殊意义。
XY  XY
X|Y  X或Y
(X)  Capturing group
3)边界匹配
^ 一行的开始
$ 一行的结束
/b 词界
/B 非词界
/G 上一级的结尾
4)量词
?  0或1个
*  0或多个
+  1或多个
X{n}  X,恰好n次
X{n,}  X,至少n次
X{n,m}  X,至少n次,至多m次
三、字符序列
CharSequence接口,从String到StringBuffer类中抽象出。
interface CharSequence{
 charAt(int i);  //返回指定索引处的char值
 length();   //返回长度
 subSequence(int start,int end); //返回从索引start开始,end结束的子序列
 toString();   //返回字符串
 }
四、在Java中,正则表达式是通过java.util.regex包里面的Pattern和Matcher类来实现的。
1)Matcher.find()用于发现应用于CharSequence的多重模式匹配。
2)find(int start) 重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
例:
package myfile;
import java.util.regex.*;
import java.util.*;
public class FindDemo {
 private static String str="boolean contains(CharSequence s)  new Test()";
 public static void main(String[] args) {  
  Matcher m=Pattern.compile("//w+").matcher("Evening is full of the linnet's wings");
  while(m.find())
   System.out.println(m.group());
  int i=0;
  while(m.find(i)){
   i++;
   System.out.print(m.group()+" ");
  }
  System.out.println("/n"+"i="+i);
 }
}

转载于:https://www.cnblogs.com/yangjin-55/archive/2007/03/26/2787037.html

JDK6笔记(3)----正则表达式相关推荐

  1. Python 网络爬虫笔记6 -- 正则表达式

    Python 网络爬虫笔记6 – 正则表达式 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Python网 ...

  2. 【JavaSE_学习笔记】正则表达式

    [JavaSE_学习笔记]正则表达式 正则表达式常用的语法: A:字符 符号 意义 注意事项 x 字符 x :任意的字符 \\ 反斜线字符 在代码中书写正则表达式:-->用两个\代表一个反斜线 ...

  3. Python笔记---常用正则表达式练习

    Python笔记---正则表达式 1. \d :匹配一个数字字符.等价于 [0-9]. 2. \D:匹配一个非数字字符.等价于 [^0-9]. 3. \[ ] 4. \- 5. { }: 6. \* ...

  4. 精通正则表达式笔记二---正则表达式基础概念?,+,*,{ },\,“ “,时间,小结

    2 可选项元素 2.1 ? 现在来看color和colour的匹配.它们的区别在于,后面的单词比前面的多一个u,我们可以用colou?r来解决这个问题.元字符?(也就是问号)代表可选项.把它加在一个字 ...

  5. python爬虫防呆笔记:正则表达式篇之一

    python爬虫笔记 第一部分:正则表达式 基本效果展示 加载猫眼电影网的html文本作为训练文本 这里先讲一下header,这里的header就写一项,不写就爬不出来,这一项是User-Agent, ...

  6. PHP整理笔记八正则表达式

    一.正则表达式语法(Perl风格) Perl一直被认为是最伟大的解析语言之一,它提供了一种全面的正则表达式,即使是最复杂的字符串模式,也可以用这种正则表达式语言搜索和替换.PHP开发人员认识到,与其重 ...

  7. Python开发笔记之正则表达式的使用

    查找正则表达式 import re re_txt = re.compile(r'(\d)*.txt') m = re_txt.search(src) if not m == None:m.group( ...

  8. 4.4学习笔记-REGEXP1(正则表达式)

    文本查找的需要: grep egrep fgrep grep: 根据模式,搜索文本,并将符合模式的文本行显示出来 Pattern(模式):文本字符和正则表达式的元字符组合而成的匹配条件 grep [o ...

  9. linux shell编程学习笔记(9)正则表达式

    1.什么是正则表达式 用一串符号描述有共同属性的数据 一串符号:元符号 --正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.许多程序设计语言都支持利用正则表达式进行字符串操作.对于系统管 ...

最新文章

  1. CVPR 2019审稿满分论文:中国博士提出融合CV与NLP的视觉语言导航新方法
  2. UR #3 核聚变反应强度( gcd )
  3. JavaScript规范和工具 JSlint
  4. 用python绘制图形_python绘制图形
  5. 计算机软考中集成系统,软考中级系统集成项目管理工程师有哪些作用?
  6. Ubuntu查看及修改IP地址
  7. [转]你会做Web上的用户登录功能吗?
  8. python中json模块_Python json模块与jsonpath模块区别详解
  9. r语言 fourth entry_第四篇 语言学习的自然顺序
  10. ubuntu linux 系统搭建我的世界基岩版 私服我的世界服务器
  11. linux用户修改密码
  12. 【转】7本免费的Java电子书和教程
  13. Git工作流(简单)
  14. 在Eclipse中安装Maven插件
  15. MetaTrader5平台 Python
  16. Prisma(三)——数据模型
  17. 交通信息服务器图片,交通标志图片大全(图文解释)
  18. 用ipad给linux做第二屏幕,让iPad变成你电脑的第二显示屏,无论工作还是生活都相当实用!...
  19. 2019领克车展 Max Co币机诞生记
  20. hdfs单点故障和内存受限问题

热门文章

  1. css不常用重要属性
  2. Oracle 11g 之自动收集统计信息
  3. C++ Primer 7.33 练习编写成员函数
  4. 漂亮的页面向导和Tab插件(Jquery)
  5. Javascript 获取页面高度(多种浏览器)
  6. 我们应该如何选择DR
  7. Django2.+ path配置
  8. 45. ExtJS ComboBox 下拉列表详细用法
  9. [转]脏读,不可重复读,幻读的理解
  10. Eclipse Juno在ubuntud的安装(SVN)