正则表达式A - 方法及特殊字符用法

课程大纲
1.正则表达式的概念及作用
2.正则表达式的创建方法
3.正则表达式的用法
正则表达式概念:
正则表达式是由普通字符及特殊字符组成的对字符串进行过滤的逻辑公式
正则表达式的创建方式:
1.字面量方式创建 (隐式创建):
var reg = /正则表达式/gi;
2.构造函数方式 (显示创建):
var regExp = new RegExp( “正则表达式”,”gi” );
我们来实际编写一下:
运行结果如下:
test方式:是用来检测字符串中是否含有符合规则的子字符串。有就返回 true;没有返回false
除了正则表达式这种书写方式呢,通常我们需要给正则表达式添加一些修饰符
正则表达式修饰符:
也就是我们上面创建方式的最后两个字符g和i
g:表示全局匹配
i:表示忽略大小写
我们来编写一下:
运行结果如下:
math方法:字符串方法,在字符串内找符合条件的值,或者找一个或多个正则表达式
如果我们不加g,就会返回一个abc
再来看一下i的编写:
如果我们只写i
那么运行结果仍然是1个,因为没有加全局变量:
这就需要g和i的同时使用,才可以全部取到:
运行结果如下:
不分大小写全部获取,这时输出结果正确
除了test和match方法以外:
seach:字符串方法,用于查找符合规则的子字符串的位置,只返回第一个匹配的位置
运行结果如下:
split:字符串方法,以某某字符串进行分割
以!分割,运行结果如下:
replace:字符串方法,替换,第二个参数将第一个参数替换掉
用666替换tmd,运行结果如下:
exec:正则表达式的方法,将匹配成功的内容放到数组里,没有匹配成功返回null
exec方法需要多次写才能输出对应的结果,,运行结果如下:
这也是exec和match的区别
正则表达式特殊字符
. 除了换行符之外的所有单个字符
运行结果如下:
如果g后面是一个点,g.g,返回的将是false
*  重复多次匹配,匹配任意( 0 - n次)
运行结果如下:
如果str中没有g或l或e,就会返回false,再多g也是true
+  表示至少匹配一次,至少有一个
运行结果如下:
如果str中为ggle,那么匹配结果就为true
?  匹配0到1次匹配
运行结果如下:
str中g再多,也是返回最多一次,最少0次的g
[ ]  可以出现的范围
例如[0-9]表示0到9之间的整数
运行结果如下:
也可以测试a-z或者A-Z等等一些范围
\w  数字字母下划线,等同于上面匹配 [0-9a-ZA-Z_]
运行结果如下:
只要是在[0-9a-zA-Z_]之内的都返回true
\W  表示与小写\w相反的结果
非 [0-9a-zA-Z_] 数字字母下划线都为true
运行结果如下:
\d  数字0-9,相当于[0-9]
运行结果:
如何和上面写成\d+,就会将12345当做一个数组
\D  和\d相反,非数字,非[0-9]
运行结果如下:
如果12345后面有字母就会返回true
\s  匹配空格
运行结果如下:
{m,n}  至少匹配m次,至多匹配n次
三种写法如下所示:
运行结果如下:
/^  匹配开始  $/匹配结尾
很明显,以e结尾,返回false:
如果将$后改为e就为true
|  或
运行结果如下:
( )  分组,将内容作为一个整体进行匹配
运行结果如下:
这个分组内容的获取对象是RegExp.$1
运行结果如下:
$1  $2等  获取对应的元素
运行结果如下:
本节所讲到的:
正则表达式方法:test、 exec
字符串方法:match、search、split、replace、replace
格式:
正则方法是  定义的正则表达式 . 正则方法 (字符串);
字符串方法是  字符串 . 字符串方法 (定义的正则表达式);
特殊字符的用法:
. //除了换行符之外的所有单个字符
*  //重复多次匹配
+ //表示至少匹配一次
? //匹配0到1 次
[]  //可以出现的范围  例如[0-9]表示0到9之间的整数
\w  //数字字母下划线,等同于上面[0-9a-ZA-Z_]
\W  //非数字字母下划线,非[0-9a-ZA-Z_]
\d  //数字0-9,相当于[0-9]
\D //非数字0-9,相当于非[0-9]
\s  //匹配空格
{m,n}  //至少匹配m次,至多匹配n次
/^ //匹配开始  $/匹配结尾
| //或,匹配其中的一个
( )  //分组,将内容作为一个整体进行匹配
$1  $2等  //获取对应的元素
- 写作不易,大家多多关注,谢谢啦-
---web分享,分享的不只是web
(0)

相关推荐