具体学习推荐:正则表达式30分钟入门教程

.            除换行符以外的任意字符
\w         word,正常字符,可以当做变量名的,字母、数字、下划线、汉字
\s          space,空白符
\d          digital,数字
\b          begin,单词的开始和结束
^            匹配字符串的开始(整个字符串)
$            匹配字符串的结束(整个字符串)
?           重复0次或1次
*            重复任意次
+            重复至少一次
{x}         重复x次
{x,}        重复至少x次
{x,y}     重复x到y次
\          转义
[xyz]      匹配x或y或z中的一个字符
[A-D1-3]  匹配ABCD123中的一个字符
匹配1|匹配2   分支条件,或,注意:和编程一样,从左到右,一旦匹配1满足,停止匹配
()                 分组,把括号里面的东西当做一个整体
\W \S \D \B   和对应的小写\w \s \d \b含义相反
[^abc]          匹配除abc以外的字符
\1                后向引用,重复搜索前面第1个分组匹配的文本。\b(\w+)\b\s+\1\b,匹配类似go go。
(?=exp)        零宽断言:断言自身出现的位置的后面能匹配表达式exp
(?<=exp)      零宽断言:断言自身出现的位置的前面能匹配表达式exp
(?!exp)         负向零宽断言:断言此位置的后面不能匹配表达式exp
(?<!exp)       零宽度负回顾后发断言来断言此位置的前面不能匹配表达式exp

*?                重复任意次,但尽可能少重复 ,即让字符数越少越好
+?               重复1次或更多次,但尽可能少重复,即让字符数越少越好
??                重复0次或1次,但尽可能少重复
{n,m}?        重复n到m次,但尽可能少重复
{n,}?           重复n次以上,但尽可能少重复

Java正则表达式示例代码:

RegEx.java

/*
* /*
* RegEx
* @author ChenMing
* @version 2016-7-15
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern; public class RegEx {
public static void main(String[] args) {
/*//查找匹配 字符 Java里面\要用\\
Pattern pattern = Pattern.compile("\\w+") ;
Matcher matcher = pattern.matcher("xx") ;
boolean b = matcher.matches() ;
System.out.println(b);*/ /*//分割 按照空格和,分割
Pattern pattern = Pattern.compile(" ,");
String[] strs = pattern.split("Java Hello World Java,Hello,,World|Sun");
for (int i=0;i<strs.length;i++) {
System.out.println(strs[i]);
} */ /*//文字替换
Pattern pattern = Pattern.compile("替换文本");
Matcher matcher = pattern.matcher("被替换文本 adad asdad ad 被替换文本da 被替换文本sd");
System.out.println(matcher.replaceFirst("被替换文本 "));
System.out.println(matcher.replaceAll("被替换文本 "));*/ /*//去除html标记
//Pattern.DOTALL 在这种模式下,表达式'.'可以匹配任意字符,包括表示一行的结束符。默认情况下,表达式'.'不匹配行的结束符。
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");
String string = matcher.replaceAll("");
System.out.println(string);*/
}
}

正则表达式学习笔记(附:Java版示例代码)的更多相关文章

  1. redis 学习笔记(2)-client端示例代码

    redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson 一.Jedis的使用 <dependency> <groupId>redi ...

  2. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  3. python实现文章或博客的自动摘要(附java版开源项目)

    python实现文章或博客的自动摘要(附java版开源项目) 写博客的时候,都习惯给文章加入一个简介.现在可以自动完成了!TF-IDF与余弦相似性的应用(三):自动摘要 - 阮一峰的网络日志http: ...

  4. 学习笔记之Java程序设计实用教程

    Java程序设计实用教程 by 朱战立 & 沈伟 学习笔记之JAVA多线程(http://www.cnblogs.com/pegasus923/p/3995855.html) 国庆休假前学习了 ...

  5. javascript正则表达式 - 学习笔记

    JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...

  6. python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容

    python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息PySpider:一个国人编写的强大的网络爬虫系统并带有强大的WebUI,采用Python语言编写 ...

  7. openstack学习笔记一 虚拟机启动过程代码跟踪

    openstack学习笔记一 虚拟机启动过程代码跟踪 本文主要通过对虚拟机创建过程的代码跟踪.观察虚拟机启动任务状态的变化,来透彻理解openstack各组件之间的作用过程. 当从horizon界面发 ...

  8. JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...

  9. 【学习笔记】OI玄学道—代码坑点

    [学习笔记]\(OI\) 玄学道-代码坑点 [目录] [逻辑运算符的短路运算] [\(cmath\)里的贝塞尔函数] 一:[逻辑运算符的短路运算] [运算规则] && 和 || 属于逻 ...

随机推荐

  1. Raspberry Pi 3 Basic Command and Information

    default username : pi default password : raspberry enter system setting interface : sudo raspi-confi ...

  2. Objective-C 中的类和对象

    http://blog.ibireme.com/2013/11/25/objc-object/ Objective-C的runtime是开源的,源码可以在苹果官网下载到:objc4. 在objc4-5 ...

  3. spring boot 框架 启动更新项目,以及生成 "实体_"文件

    1.更新项目 clean  --->  更新项目 ---> package--->refresh 即可.(这几个步骤一个不能够少) 2.项目中的类的依赖关系存在,但是无法导入依赖 m ...

  4. 关于Thread.Sleep(0)

    看到的文章,写的不错. 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间.那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:0 ...

  5. python学习2 lambda表达式

    学习C#的,对这个就特别熟悉了 lambda函数,它没有名字,只有参数和表达式: lambda  args: expression def func1(func,arg): return func(a ...

  6. php适配器设计模式

    <?php //适配器模式 //服务器端代码 class tianqi{ public static function show(){ $today= array('tep' =>28 , ...

  7. c++模板类

    c++模板类 理解编译器的编译模板过程 如何组织编写模板程序 前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”.看看我们几乎每天都能遇到的模板类吧,如S ...

  8. Unity 播放 视频

    Unity3D 播放视频 http://www.cnblogs.com/fortomorrow/archive/2012/11/01/unity07.html Unity3D研究院之两种方式播放游戏视 ...

  9. Jbuilder 2008安装及破解

    1.下载Jbuilder及破解包 2.安装: 1>点击install 2> 选择第一项: 3>同意协议: 4>选择安装目录 5>选择服务器 6>选择默认 7> ...

  10. Spring系列之beanFactory与ApplicationContext

    一.BeanFactoryBeanFactory 是 Spring 的“心脏”.它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. ...