转载 javascript中的正则表达式总结 二
学习正则表达式
今年的第一篇javascript文章就是这个正则表达式了,之前的文章是转载别人的,不算自己的东西,可以忽略不计,最近突然想把转载别人的东西 统统删掉,因为转载过的文章,我根本没有从中获得收获,纯粹是浪费时间,虽然说可以留着以后需要的时候来查看,可是这是一个非常不好的念头。今年我将不会 再转载别人的一篇文章了,如果觉得有用,我会把它收藏到云笔记上,推荐使用印象笔记,比网易的云笔记好了N倍,谁用谁知道。
如果看到好的博客,我将会把它订阅到feedly里面,有空的时候就会翻出来看看他们写过的新技术和研究,看国外的博客需要用心和花费一点时间才能有收获。看博客的时候最关键还是需要动手操作,自己写一遍代码,胜过你读几遍文章。
正则表达式花费了很多时间,主要是我看视频总是不自觉的眼困,以后就专门用7:30分到9:30分来学习javascript了,无论是看书还是看视频,打算买一本精通Javascript书,电子版看着挺不错的。
什么是正则表达式
正则表达式(regular expression)是一个描述字符模式的对象。使用正则表达式可以进行强大的模式匹配和文本检索与替换功能。
创建正则表达式
创建正则表达式和创建字符串相似,创建正则表达式提供了两种方法,一种采用new运算符,另一种采用字面量方式。
1.var box = new RegExp('box'); 第一个参数字符串
var box = new RegExp('box','ig'); 第二个参数可选模式修饰符
| 参数 | 含义 |
| i | 忽略大小写 |
| g | 全局匹配 |
| m | 多行匹配 |
2,var box = /Box/; 使用字面量方式的正则
var box = /Box/ig; 第二个斜杠后加模式修饰符
测试正则表达式
RegExp对象包含两个常用方法:test()和exec(),功能基本相似,用于测试字符串匹配。
test()方法在字符串中查找是否存在指定的正则表达式,并返回布尔值,如果存在则返回true,否则返回false。
exec()方法也用于在字符串中查找指定正则表达式,如果exec()执行成功,则返回包含该查找字符串的相关信息数据,否则返回null。(返回结果数组)
var pattern = new RegExp('Box','i');
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'This is a box';
alert(pattern.test(str)); //true
var pattern = /Box/i;
var str = 'box';
alert(pattern.exec(str)); box
返回的是数组,有就返回数组的值,没有匹配到就返回null
var str ='ss';
alert(pattern.exec(str)); 没有匹配到返回null
使用字符串的正则表达式方法
string对象也提供了4个使用正则表达式的方法
| 方法 | 含义 |
| match(pattern) | 在一个字符串中寻找一个与正则表达式模式(pattern)的匹配/返回pattern中的字串或者null |
| replace(pattern,replacement) | 用replacement替换pattern |
| search(pattern) | 返回与正则表达式(pattern)的匹配 |
| split(pattern) | 返回字符串按指定pattern拆分的数组 |
var pattern = /Box/ig; //开启全局
var str = 'This is a Box';
alert(str.match(pattern)); //匹配所有
var pattern = /box/ig;
var str = 'This is a box! That is a Box too!';
alert(str.replace(pattern,'supperman'));
//This is a supperman! That is a supperman too';
var pattern= /!/ig;
alert(str.split(pattern)); //This is a supperman!, That is a supperman too !,
RegExp对象的属性
| 属性 | 意义 |
| $1(到$9) | 圆括号包围的字符串匹配 |
| $_ | 相当于input |
| $* | 相当于multiline |
| $& | 相当于lastMatch |
| $+ | 相当于lastParen |
| $` | 相当于leftContext |
| $' | 相当于rightContext |
| constructor | 指定创建对象原型的函数 |
| global | 全局搜索(使用g修饰符) |
| ignoreCase | 不区分大小写搜索(使用i修饰符) |
| input |
如果没有传递字符串,这就是要搜索的字符串 |
| lastIndex | 继续匹配的起始位置 |
| lastMatch | 最后一个匹配的字符串 |
| lastParen | 最后的圆括号包围的子字符串匹配 |
| leftContext | 最近一个匹配字符串左边的子字符串 |
| multiline | 是否跨多行搜索字符串 |
| prototype | 允许在所有对象中添加属性 |
| rightContext | 最近一个匹配字符串右边的子字符串 |
| source | 正则表达式模式本身 |
获取控制
正则表达式元字符是包含特殊含义的字符,他们有一些功能,可以控制匹配模式的方式,反斜杠后的元字符将失去其特殊含义。
| 元字符/元符号 | 匹配 |
| \ |
在字面意义和特殊意义之间进行切换。例如\w表示\w的特殊意义而不是字面值w,但是\$表示不使用$的特殊意义而是使用$字符本身 |
| ^ | 字符串的开头 |
| $ | 字符串的结尾 |
| * | 零次或者多次 |
| + | 一次或者多次 |
| ? | 零次或者一次 |
| . | 除换行符外的任何字符 |
| \b | 单词边界 |
| \B | 非单词边界 |
| \d | 0-9的任何数字(与[0-9]相同) |
| \D | 任何非数字 |
| \f | 换页符 |
| \n | 换行符 |
| \r | 回车符 |
| \s |
任何一个空白字符(与[\f\n\r\t\v]相同) |
|
\S |
任何一个非空白字符 |
| \t | 制表符 |
|
\v |
垂直制表符 |
| \w | 任何字母、数字以及下划线(与[a-zA-Z0-9_]相同) |
| \W | 除数字、字母及下划线外的其他字符 |
|
\xnn |
十六进制数字nn定义的ASCII字符 |
| \onn | 八进制数字nn定义的ASCII字符 |
| \cX | 控制字符X |
| [abcde] | 与其中任何字符匹配的字符串 |
| [^abcde] | 字符补集,与其中任何字符都不匹配的字符集 |
| [a-e] | 与其中的字符范围匹配的字符集 |
| [\b] | 退格字符的字面量意义(不同于\b) |
| {n} | 前面的字符正好出现n次 |
| {n,} | 前面的字符至少出现n次 |
| {m,n} | 前面的字符至少出现m次,最多n次 |
| () | 一个组,可以在后面引用它 |
| x|y | x或y |
o+ 表示1个或者多个o
x? 表示0个或者1个x
x* 表示0个或者多个x
(xyz)+匹配至少一个(xyz)
x{m,n} 匹配至少m个,最多n个x
转载 javascript中的正则表达式总结 二的更多相关文章
- 转载 javascript中的正则表达式总结 一
定义正则表达式的方法 定义正则表达式的方法有两种:构造函数定义和正则表达式直接量定义.例如: var reg1 = new RegExp('\d{5, 11}'); // 通过构造函数定义 var r ...
- JavaScript中的正则表达式(终结篇)
JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...
- C++、Java、JavaScript中的正则表达式
C++(VS2013编译器):http://msdn.microsoft.com/zh-cn/library/bb982727.aspx#grammarsummary Java: ...
- Javascript中的正则表达式
Javascript中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...
- 浅谈JavaScript中的正则表达式
引言 对于正则表达式我想作为程序员肯定使用过它,那天书般的表达方式,我用一次就记住它了.这篇博客先介绍一些正则表达式的内容,然后介绍JavaScript中对正则表达式特有的改进.下面开始介绍正则表达式 ...
- 浅谈JavaScript中的正则表达式(适用初学者观看)
浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...
- 精通 JavaScript中的正则表达式
精通 JS正则表达式 (精通?标题党 ) 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 ...
- JavaScript中的正则表达式详解
摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法. 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本 ...
- javascript中的正则表达式学习
一.前言 关于正则表达式自身的语法这里不做过多介绍(详情可参见http://www.php100.com/manual/unze.html),这里仅仅解释javascript中和正则表达式相关的几个方 ...
随机推荐
- Java_Ant 详解
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为 ...
- Python安装BeautifulSoup库(Windows平台下)
简介 参照官网Beautiful Soup4.4.0文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/ 安装步骤 1.到https:// ...
- ThreadLocal 那点事儿
原文出处: 黄勇 ThreadLocal,直译为“线程本地”或“本地线程”,如果你真的这么认为,那就错了!其实,它就是一个容器,用于存放线程的局部变量,我认为应该叫做 ThreadLocalVaria ...
- Java之线程———GUI线程(包含打字游戏和计时器俩个GUI实列)
当java程序包含图形用户界面(GUI)时,Java虚拟机在运行应用程序时会自动启动更多的线程,其中有两个重要的线程:AWT-EventQuecue 和 AWT-Windows. AWT-EventQ ...
- Java中Array的常用方法
0.创建/声明一个数组 1 2 3 String[] aArray = new String[5]; String[] bArray = {"a","b",&q ...
- iscroll4框架解析[webapp开发](转)
概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码.这个项目的产生完全是因为移动版webkit浏览器(诸如iPhone,iPad,Android 这些系统上广泛使用)提供了一 ...
- Android TextView标签的显示
在默认情况下,如果一个TextView中的文字太多,会跨行显示, 通过下面两个参数的设置,可以使TextView固定显示一行,未显示完成的后面用...... android:maxLines=&quo ...
- Log4J实用配置指南
转自:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html 1 概述 本文档是针对Log4j日志工具的使用指南. ...
- 腾讯大规模Hadoop集群实践 [转程序员杂志]
TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展.可控性差的局限,并且根据腾 ...
- pandas进行数据分析需要的一些操作
一.查看数据 1.查看DataFrame前xx行或后xx行a=DataFrame(data);a.head(6)表示显示前6行数据,若head()中不带参数则会显示全部数据.a.tail(6)表示显示 ...