`

正则表达式最常用知识点总结

阅读更多
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9] 注意:“字符”
\W 非单词字符:[^\w]

边界匹配器
^ 行的开头
$ 行的结尾

1、默认是贪婪的
2、在通配符*,+等后面加上?,就是非贪婪的。 非贪婪就是在匹配时,用尽量少的字符使匹配成功。
例子:匹配超链接
1、<a.*<\/a>贪婪的,所有的<a和</a>之间都被匹配到。因此这样匹配的是第一个超链接的<a开通到最后一个超链接的结尾</a>。
2、<a.*?<\/a>非贪婪的,正确匹配一个超链接,<a和</a>之间的字符尽量少的情况下使匹配成功。
分组:用()对正则表达式进行分组,如果自己没有分组,那么默认值只有一个组,也就是整个正则表达式
java中,用group(index)访问指定组
JS中,通过exeu返回的数组中的下标值进行访问指定组
组的下标,默认全局的组是0,其它的以"()"在正则表达式内出现的从左到右的顺序来划分。

在JS中:
match(r)是String方法
exec(s)和test(s)是RexExp的方法
exec方法返回一个数组,每一项是一个分组匹配到的内容。
JS中定义正则表达式两种方式:"/XXXX/gmi可选项" 和 new RexExp("XXXX","gmi可选项")
可选项中:g表示全局扫描,如果不加,那么将一直匹配第一个匹配到的。
   加了g选项后,每一次匹配后,就会往下匹配。当扫描不到匹配的字符时,则返回null。
例子:
var p = new RegExp("<a.*?<\/a>","g");
//此处如果没有加"g",则匹配的永远是<a href=http://www.google.cn>谷歌</a>
var str="其他<a href=http://www.google.cn>谷歌</a>其他。。。<a href=http://www.baidu.com>百度</a>其它";
var url = p.exec(str);
while(url != null){
document.write(url+"<br/>");
url = p.exec(str);
}
0
0
分享到:
评论

相关推荐

    正则表达式完整高清版

    《正则指引》针对作者在开发中遇到的实际问题,以及其他开发人员咨询的问题,总结出一套使用正则表达式解题的办法,并通过具体的例子指导读者拆解、分析问题。全书分为三大部分:第一部分主要讲解正则表达式的基础...

    精通正则表达式~~~

    正则表达式的知识框架... 6 对于有部分经验的读者... 6 检索文本文件:Egrep. 6 Egrep元字符... 8 行的起始和结束... 8 字符组... 9 用点号匹配任意字符... 11 多选结构... 13 忽略大小写... 14 单词分界...

    JavaScript高级程序设计(第3版)学习笔记12 js正则表达式

    需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了。正则表达式不只是应用在ECMAScript中,在JAVA、.Net、Unix等也有相应...

    Java基础知识点总结.docx

    Java学习更是如此,知识点总结目录如下: 目录 一、 Java概述 3 二、 Java语法基础 5 数据类型 5 运算符号 14 语句 15 函数 15 方法重载(Overloadjing)与重写(Overriding) 16 数组 17 总结 18 三、 常见关键字 ...

    java各知识点详细总结(毕向东笔记整理)

    java各知识点详细总结(毕向东笔记整理)。第一章:编程基础 3-11 第二章:数组 11 -31 第三章:面向对象程序开发 31 -74 第四章:异常机制 74 -89 第五章:多线程技术 89 -122122122 第六章:常用类 API 122API 122 ...

    Python::lemon:Python基础,Pygame游戏编程,Python算法与面试题,常用的Python Web框架,爬虫,数据可视化,机器学习。一共七个Python大方向!

    简介:一个Python全...(前导知识点:前端/计算机网络) 正则表达式(RE,正则表达式) :open_book: :open_book: :open_book: 迫不及待了吗?赶快戳进我的Python目录主页 :backhand_index_pointing_right: 序

    笔记整理——Python爬虫(三):基本概念及常用基本方法

    基本概念及常用基本方法一、爬虫基本概念定义使用爬虫的目的企业获取数据的方式使用Python做爬虫的优势爬虫分类通用爬取步骤(语义...常用方法详解urllib.parse.urlencode({dict})quote(str)编码unquote(str)解码示例9...

    宋劲彬的嵌入式C语言一站式编程

    5. 练习:在C语言中使用正则表达式 33. 信号 1. 信号的基本概念 2. 产生信号 2.1. 通过终端按键产生信号 2.2. 调用系统函数向进程发信号 2.3. 由软件条件产生信号 3. 阻塞信号 3.1. 信号在内核中的表示 3.2. 信号集...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    正则表达式Re模块使用详解 第6周 本节小鸡汤(电影分享) 面向对象介绍 面向对象特性介绍 实例演示opp编程好处 实例变量与类变量 类变量的作用及析构函数 类的继承 经典类与新式类的继承顺序 继承实例讲解 多态...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    常用数据结构(List、Dictionary、Array)、多态、常用设计模式、反射、常用.net类库、泛型、IO流、委托事件、正则表达式、XML、反射、GC等。 2、数据库开发及ADO.Net(6天) 核心技术课程 数据库开发基础、...

    asp.net知识库

    常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18...

    RED HAT LINUX 6大全

    10.1.1 新闻供给点如何工作 187 10.1.2 推/拉新闻 187 10.1.3 下载新闻组的可选方法 187 10.2 INN硬件与软件要求 188 10.3 INN介绍 188 10.3.1 安装INN 188 10.3.2 INN启动文件 189 10.3.3 配置INN 193 10.4 ...

Global site tag (gtag.js) - Google Analytics