从javaScript中学习正则表达式——RegExp
正则表达式工具:http://regexper.com 由于国外网络可以选择 https://github.com/javallone/regexper-static 离线安装作为本地服务。
正则表达式的创建方式:字面量(var reg = /\bis\b/gim) 构造函数(var reg = new RegExp('/\bis\b/', 'g'))
正则表达式核心:1、原义文本字符(a, 1, 0, B)
2、元字符(* + ? $ ^ . | \ ( ) [ ] { } \t \n \v \w \W等等)
3、字符类(/[abcde]/g /[^abcde]/g)
4、范围类(/[0-9a-z]/ /[0-8]/)
5、预定义类(. \d \D \s \S \w \W)
6、边界(^ $ \b \B)
7、量词(? + * {n} {n, m} {n,})
8、贪婪模式(/\d{3,6}/g)
9、非贪婪模式(/\d{3,6}?/g)
10、分组(使量词作用于分组)
11、或(/ad|da/g)
12、反向引用(根据$1, $2, $n获取分组内容。不希望捕获分组,在分组内加上(?:\d+))
13、前瞻(/\w(?=\d)/g)
14、RegExp对象的属性(global ignore case multiline lastIndex source)
15、RegExp对象的方法(reg.test(str) reg.exec(str))
16、字符串对象的方法(str1.search(reg) str1.match(reg) str1.replace() str1.split(reg))
简单运用:
用一个正则表达式来判断一个字符串,只有aaaaa aaaa bbbbbbbbb这类的字符串能通过
/^([a-zA-Z0-9])\1*$/ \1表示对第一个分组的引用,如\m,是对第m个分组的引用
从javaScript中学习正则表达式——RegExp的更多相关文章
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 查找以八进制数 规定的字符. 查找以十六进制数 规定 ...
- Javascript中的正则表达式
Javascript中的正则表达式 刚开始接触正则表达式的时候,觉得这是个很死板的东西(没办法,计算机不能像人眼一样能很快的辨认出我们需要的结果,它需要一定的规则来对它进行限制),了解的越多,发现这个 ...
- JavaScript中的正则表达式(终结篇)
JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...
- 浅谈JavaScript中的正则表达式
引言 对于正则表达式我想作为程序员肯定使用过它,那天书般的表达方式,我用一次就记住它了.这篇博客先介绍一些正则表达式的内容,然后介绍JavaScript中对正则表达式特有的改进.下面开始介绍正则表达式 ...
- 转载 javascript中的正则表达式总结 一
定义正则表达式的方法 定义正则表达式的方法有两种:构造函数定义和正则表达式直接量定义.例如: var reg1 = new RegExp('\d{5, 11}'); // 通过构造函数定义 var r ...
- C++、Java、JavaScript中的正则表达式
C++(VS2013编译器):http://msdn.microsoft.com/zh-cn/library/bb982727.aspx#grammarsummary Java: ...
- 浅谈JavaScript中的正则表达式(适用初学者观看)
浅谈JavaScript中的正则表达式 1.什么是正则表达式(RegExp)? 官方定义: 正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去 ...
- 精通 JavaScript中的正则表达式
精通 JS正则表达式 (精通?标题党 ) 正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 ...
- JavaScript中的正则表达式详解
摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法. 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本 ...
随机推荐
- centos7上 docket无权限的问题
2.4 centos7上 docket无权限的问题,解决方案: https://stackoverflow.com/questions/24288616/permission-denied-on-ac ...
- [Docker] Running Multiple Containers for an Angular, Node project
The code is from Plusight course, github link is here. In this post, we will give a overview about h ...
- [数位dp] spoj 10738 Ra-One Numbers
题意:给定x.y.为[x,y]之间有多少个数的偶数位和减去奇数位和等于一. 个位是第一位. 样例: 10=1-0=1 所以10是这种数 思路:数位dp[i][sum][ok] i位和为sum 是否含有 ...
- 【Google设计冲刺】一种适合于创新小组的协作方式
传统的产品闭环是1.产品策划-2.研发-3.上线-4.等待市场反馈,4个步骤.对于一个创新项目来说,试错成本过高,等待周期过长[注释1].那么,有没有一种适合创新项目的协作方式呢?谷歌风投杰克·纳普发 ...
- TensorFlow实战Google深度学习框架5-7章学习笔记
目录 第5章 MNIST数字识别问题 第6章 图像识别与卷积神经网络 第7章 图像数据处理 第5章 MNIST数字识别问题 MNIST是一个非常有名的手写体数字识别数据集,在很多资料中,这个数据集都会 ...
- Python性能分析
Python性能分析 https://www.cnblogs.com/lrysjtu/p/5651816.html https://www.cnblogs.com/cbscan/articles/33 ...
- 理解JAVA的IO
1. 什么是流Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列 ...
- JAVA中Integer的==和equals注意
“equals”比较:equals(Object obj)方法,在equals(Object obj)方法中,会先判断参数中的对象obj是否是Integer类型的对象,如果是则判断值是否相同,值相同则 ...
- Android应用资源分析(老罗链接整理)
1.Android资源管理框架(Asset Manager)简要介绍和学习计划 2.Android应用程序资源的编译和打包过程分析 3.Android应用程序资源的查找过程分析 https://my. ...
- maven私服不能重复部署解决
1.报错 Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases. 2 ...