山山未迟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

image

image

JavaScript巩固与加强五

目录

JavaScript巩固与加强五 1

一、正则表达式 3

1、历史起源 3

2、什么是正则表达式 3

3、应用场景 3

4、快速入门 4

1)查找一个字符串中是否具有数字“8” 4

2)查找一个字符串中是否具有数字 4

3)查找一个字符串中是否具有非数字 4

二、正则对象 5

1、创建正则对象 5

1)隐式创建 5

2)显示创建(直接实例化) 5

2、匹配模式 5

3、正则对象从 5

四、正则表达式中的常用方法 6

16大常用方法 6

五、正则表达式中常用概念 8

1、几个常用概念 8

1)子表达式 8

2)捕获 8

3)反向引用 8

2、原理图: 8

3、子表达式应用 9

六、子表达式与exec方法 9

七、编写正则表达式 11

技巧:正则编写三步走: 11

1)查什么 11

2)查多少 11

3)从哪查 11

1、正则表达式构成: 11

2、查多少(元字符——限定符) 11

3、匹配原则: 12

1)贪婪匹配 12

2)非贪婪匹配 12

4、查什么(元字符——匹配符) 13

5、从哪查(元字符——定位符) 14

6、特殊字符 15

7、选择符 15

8、三种特殊用法 16

1)正向预查 16

2)负向预查 16

3)输出但不捕获 17

八、正则表达式——结巴程序 17

九、编写正则工具箱 18

十、作业汇总 18

十一、作业 18

、正则表达式

1、历史起源

1956年,美国新泽西、底特律的两位神经生理方面的科学家,通过数学符号的形式来描述神经系统网络模型。

肯.汤马森(UNIX之父)把正则引入到UNIX引入编辑器QED、ED、双管道命令grep

《精通正则表达式》的作者,把这种数学符号,编辑成书,并正式成为正则表达式。

2什么是正则表达式

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

模式:正则表达式

某种:模糊查询

select * from goods where title=’联想手机’; 精确查询

select * from goods where title like ‘%联想手机%’;  模糊查询

3、应用场景

1)信息隐藏 任*遥  135****999

2)信息过滤 *** 河蟹   政府  zf 上海  sh

3)信息采集   l356o998677

4)信息检索

4、快速入门

1)查找一个字符串中是否具有数字“8”

wps4BFA.tmp

运行结果:true

2)查找一个字符串中是否具有数字

wps4C1A.tmp

运行结果:true

3)查找一个字符串中是否具有非数字

wps4C2B.tmp

运行结果:false

、正则对象

1、创建正则对象

在Javascript中,如果要使用正则表达式,请先创建正则对象

1隐式创建

基本语法:

var 变量=/正则表达式/匹配模式;

2)显示创建(直接实例化)

基本语法:

var 变量=new RegExp(“正则表达式”,”匹配模式”);

说明:两者创建方式上,功能是一致的,只有语法不同

实例代码:

wps4C3C.tmp

由于显示创建我们通常需要进行转义,所以推荐大家使用第一种,隐式创建方式。

2、匹配模式

g:global全局匹配

i:ignore忽略大小写

m:多行匹配(了解)

3、正则对象从“哪”来

typeof

constructor

instanceof

示例代码:

wps4C4C.tmp

说明:通过验证,可以发现,正则对象是RegExp类的实例,同时也是Object类的实例

、正则表达式中的常用方法

1、6大常用方法

RegExp类(正则对象):

test():判断字符串是否含有指定模式的字符,bool:true、false

exec():返回字符串中是否含有指定模式的字符

String类(字符对象):

search():返回指定模式的字符在字符串出现的位置,默认从0开始

match():返回指定模式的字符串,返回数组类型

replace():通过指定模式字符进行字符串替换

split():通过指定模式字符实现对字符串的分割,返回数组类型

示例代码:

效果实现:

wps4C6D.tmp

代码实现:

test()方法实现
wps4C7D.tmp

exec()方法实现

wps4C8E.tmp

search()方法

wps4CAE.tmp

match()方法

wps4CBF.tmp

replace()方法

wps4CCF.tmp

split()方法

wps4CE0.tmp

正则表达式中常用概念

1、几个常用概念

1)子表达式

在正则表达式中,通过一对圆括号()括起来的内容,我们称之为子表达式。

2)捕获

子表达式在匹配内容后,系统会自动捕获这个过程,并将匹配到的结果放入系统的临时缓冲区中。

3)反向引用

在正则表达式中,可以通过\n(n>=1&&n<=99的正整数)来引用临时缓冲中的内容

2、原理图

wps4D00.tmp

3、子表达式应用

1)查找连续的四个数字,如:3569

答:\d\d\d\d

2)查找连续的相同的四个数字,如:1111

答:(\d)\1\1\1

3)查找数字,如:1221,3443

答:(\d)(\d)\2\1

4)查找字符,如:AABB,TTMM

答:(\w)\1(\w)\2

5)查找连续相同的四个数字或四个字符

答:(\w)\1\1\1

练习:

var str = ‘asdfasjk<h1>hello<h1>lkjlasdfasdfwerwerwiu<div>javascript</div>uiasdafsdfsadf’;

通过正则表达式匹配字符串中的html代码

示例代码:

wps4D11.tmp

运行结果:

wps4D21.tmp

子表达式与exec方法

例1:exec方式检索所有指定模式字符串

wps4D32.tmp

例2:exec方法与子表达结合应用

wps4D52.tmp

运行结果:

第一次运行结果:123,1,23

第二次运行结果:345,3,45

第三次运行结果:456,4,56

第四次运行结果:678,6,78

观察以上程序运行结果可知,exec方法与子表达式返回结果会变为数组且

row[0]的值为最终的匹配结果

row[1]保存是第一个子表达式所匹配内容

row[2]保存是第二个子表达式所匹配内容

row[n]保存是第n个子表达式所匹配内容

posted on 2016-05-06 00:37  山山未迟  阅读(188)  评论(0编辑  收藏  举报