javascript之正则表达式基础知识小结

元字符
^ $ . * + ? = ! : | \ / ( ) [ ] { }
在使用这些符号时需要用“\”来进行转移。
如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\”
简单匹配
1、直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language”
2、[ ] /[abc]/ 匹配字符“a”或“b”或“c”
3、[^] /[^abc]/ 匹配除了a、b、c之外的任意字符
4、. /./ 任意字符
5、\w /\w/ 任意ASCII单字符,等价于[a-zA-Z0-9]
6、\s /\s/ 空白符
7、\d /\d/ 数字,等价于[0-9]
重复
1、{n,m} /[a]{3,5}/ 重复次数至少n次最多m次,比如“aaa”或“aaaa”或“aaaaa”
2、{n,} /[a]{3,}/ 重复次数至少n次,比如“aaa”或“aaaaa”或“aaaaaa”……
3、{n} /[a]/{3} 刚好匹配n次,比如只能匹配“aaa”
4、? /[a]?/ 0次或1次
5、+ /[a]+/ 1次或多次
6、* /[a]*/ 0次或多次
选择、分组
1、| /a|b/ 选择,匹配“a”或“b”
2、() /(abc)+/ 分组,匹配“abc”或“abcabc”……
位置
1、^ /^a/ 以“a”开始,比如“ab”或“abc”……
2、$ /b$/ 以“b”结束,比如“ab”或“cb”……
标志
1、i /a/i 不区分大小写,比如“a”或“A”
2、g /b/g 全局匹配、找到所有的匹配
方法
1、 var ret = “javascript”.search(/script/i) 返回第一次匹配子串开始字符的位置,没有匹配返回-1
2、 var ret = “javascript”.replace(/java/gi,””) 讲匹配的子串替换成函数的第二个参数;
3、 var ret = “javascript”.match(/(java)(script)/gi) 返回一个数组
ret[0] 完整的匹配“javascript”
ret[1] 第一个括号匹配的子串“java”
ret[2] 第二个括号匹配的子串“script”
……
4、 var ret = “javascript”.split(/a/) 用参数匹配的子串作为分隔符分解字符串 返回数组

(0)

相关推荐

  • javascript真的不难-回顾一下基础知识

    前言 说Jquery之前,先来学习一下Javascript(以后简称为JS)语言中的基础知识问题,其时对于每种编程语言来说基础知识都是大同小异的,对变量,函数,条件语句块,循环语句块等等,而对于每种语言在写法上到是显得各有不同,如JS里在定义变量时,你要用var去声局部变量的声明,而对于弱类型的语言JS来说,你也可以不加var,但不加它会认为这个变量为全局变量,这是要注意的. 变量 在程序运行过程中,其值可以发生改变的(呵呵,10多年前书上的定义) var people ; //声明一个名为pe

  • JavaScript基础知识之数据类型

    数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String.还有1种复杂数据类型--Object,Object本质上是由一组无序的名值对组成的. typeof操作符 介于JavaScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型--typeof就是负责提供者方面信息的操作符.对一个值使用typeof操作符可能返回下列某个字符串: ● "undefined"--如果这个值未定义: ●

  • JavaScript 基础知识 被自己遗忘的

    5%10=5 x="5"+"5"; x="5"+5 ; document.write(x);(結果都為﹕55) undefined是未初始化的变量的值﹐沒有引用值﹐屬于未定義 var anyway; anyway屬于已定義 有默認空值 一元運算符﹕delete(刪除對開發者定義的對象和方法的引用﹐不能刪除原始的ECMAScript方法) void 运算符对任何值返回 undefined 没有返回值的函数真正返回的都是 undefined. 一元加

  • JavaScript 语言基础知识点总结(思维导图)

    JavaScript 数组 JavaScript 函数基础 Javascript 运算符 JavaScript 流程控制 JavaScript 正则表达式 JavaScript 字符串函数 JavaScript 数据类型 JavaScript 变量 Window 对象 DOM 基本操作    由于上面的图片比较大,建议大家下载到本地查看

  • 7个JS基础知识总结

    1.如何在一个对象上添加属性? 方法一:var b = {};b["name"] = "test";delete b.name 删除对象的属性方法二:b.name ="test";2.如何判断一个变量是否声明?typeof(a) =="undefined"typeof(d) =="function" 是否为函数 3.怎么表示为字符串? 通过双引号(""),单行号(''),反斜杠(//) 

  • extjs 学习笔记(一) 一些基础知识

    我在项目中已经频繁使用了jquery,这次主要是学习使用extjs,但现有的教程基本都是针对2.0的,而且后台用到的语言也很少是.net平台下的C#,所以我打算针对3.0版,后台使用C#,记录下自己的学习过程,希望能和志同道合的朋友一起探讨,共同进步. extjs的官方网站是http://www.extjs.com,目前最高版本是3.0.2,但是只有3.0.0的才没有任何下载限制,可以点击这里下载3.0版的.下载来的压缩包里边包含压缩后的extjs库,调试时用到的库,具有可读性的源代码,文档和例

  • javascript DOM 操作基础知识小结

    DOM添加元素,使用节点属性 DOM添加元素,使用节点属性 //涂聚文 geovindu@163.com var nr = 1; function addItem() { var list = document.getElementById("list"); var newNode = document.createElement("li"); var newLink = document.createElement("a"); newLink.

  • javascript学习笔记(一)基础知识

    基本概念 javascript是一门解释型的语言,浏览器充当解释器. js执行引擎并不是一行一行的执行,而是一段一段的分析执行. 延迟脚本 HTML4.0.1中定义了defer属性,它的用途是表明脚本在执行时不会影响页面的构造.也就是说,脚本会延迟到整个页面都解析完毕后再执行.因此,在<script>元素中设置defer属性,相当于告诉浏览器立即下载,但延迟执行.在XHTML文档中,要把defer属性设置为defer="defer" 异步脚本 html5为<scrip

  • Angularjs基础知识及示例汇总

    angularjs是google开发的一款高大上的前端mvc开发框架. Angularjs官网:https://angularjs.org/ 官网有demo,访问可能需要FQ Angularjs中国社区:http://www.angularjs.cn/ 适合初学者 引用文件:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js 使用angular注意 引用angularjs库:https://github.com

  • 需要牢记的JavaScript基础知识

    声明(Declarations) undefined值在布尔类型环境中会被当作false. 数值类型环境中undefined值会被转换为NaN. 对一个空变量求值时,空值 null 在数值类型环境中会被当作0来对待,而布尔类型环境中会被当作false JavaScript 变量感觉上是被"提升"或移到了所有函数和语句之前.提升后的变量将返回 undefined 值,所以即使在使用或引用某个变量之后存在声明和初始化操作,这个被提升的引用仍将得到 undefined 值. 由于存在变量声明

随机推荐