JS加强学习-BOM学习05

1. 正则表达式

我们学习正则表达式主要的是学习它的规则(语法),还有就是学习正则表达式在JS中的对象RegExp的属性和方法。

1.1 正则表达式定义:

它是用来操作字符串的一种逻辑公式,具体就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“特定字符串的规则”,用这个“规则”来对字符串进行一种过滤和选择。

1.2 正则表达式的特点:

1.2.1 具有非常强的灵活性、逻辑性和功能性

1.2.2 可以用极简单的方式迅速地达到对字符串的复杂控制。

1.2.3 由于能满足各种情况的组合,所以对于刚入门的人比较难懂。

1.3 正则表达式的规则

1.3.1 元字符:匹配的是符合要求的单个字符

.   匹配任何单个字符,除了换行

d  数字

D 非数字

w  数字 字母 下划线

W 非数字 字母 下划线

s  空白  

S 非空白

  换行

  制表符(tab键)

1.3.2  范围匹配:匹配的是符合要求的单个字符

[]之间写所要字符所有的匹配要求

1.3.3  | 或者:匹配的是符合要求的单个字符

匹配满足|前的要求或者满足|后的要求的字符

1.3.4  量词:只修饰一个字符,对该字符做具体要求

a+:1个或多个a

a?:1个或0个a

a*:0个或多个a

a{x}:x个a

a{x,}:至少x个a

a{x,y}:x到y个a

1.3.5 开始结束:详细匹配

^a:以a开始

a$:以a结束

但是^在[]中的作用为将[]中的范围进行取反

1.3.6 () 内看成一个整体或者说看成一个字符

1.3.7 匹配汉字

汉字的取值范围:[u4e00-u9fa5]

1.3.8 参数

/表达式/i:忽略表达式匹配要求的大小写

/表达式/g:对表达式全局匹配

1.4 正则表达式的作用:

1.4.1 匹配

reg.test()正则表达式对象的方法,测试字符中是否有匹配的字符,有就返回true,没有就返回false。()中为被测试的字符串。

1.4.2 获取

str.match()字符串对象的方法,匹配字符串中是否有满足要求的字符,返回一个有满足要求的字符组成的数组,()中为正则表达式。

1.4.3 替换

str.replace()字符串对象的方法,将符合要求的字符替换成其他字符,replace有两个参数,第一个可以为字符串或者是正则表达式,第二个为字符串或者是函数。

1.4.4 分组提取

正则表达式中可以将()来组成一个整体,它还有另一层含义,就是将满足()内要求的字符分成一组,可以使用使用RegExp.$1的方式来提取满足第一个()内要求的一组字符组成的数组。前提为需要将字符串与正则表达式进行匹配过才能完成分组。

原文地址:https://www.cnblogs.com/chendu/p/5785576.html