JavaScript学习(六十七)—正则表达式学习总结
Posted 乘风破浪的程序媛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习(六十七)—正则表达式学习总结相关的知识,希望对你有一定的参考价值。
javascript学习(六十七)—正则表达式知识点总结
学习内容
一、什么是正则表达式
- 正则表达式也称为规则表达式,就是普通字符和特殊字符构成的一个表达式
- 作用就是用来检验字符串是否符合格式要求,或者在字符串中查找是否有符合格式要求的字符串。
二、如何创建正则表达式
- 利用构造方法创建:
var 正则表达式的名称=new RegExp('正则表达式内容','修饰符');
- 利用字面量形式创建:
var 正则表达式的名称=/ 正则表达式内容/修饰符;
三、正则表达式的常用方法—test方法
-
作用:验证字符串是否符合正则表达式的格式要求
-
格式:
正则表达式.test(字符串)
-
返回值:true(符合要求)、false(不符合)
四、正则表达式的构成
(一)普通字符
- 如字母、数字0-9、a-z、A-Z、_
(二)、特殊字符(元字符)
(1)、定位符
^:表示以某个字符开头,如/^a/表示字符串以字母a开头
$:表示以某个字符结尾,如/$a/表示字符串以a结尾
(2)、表示数量的限定符
-
*:
表示它前面的字符的个数为0到无穷多个,如/a*/表示a的个数最少0个,最多无限个 -
+:表示他前面的字符的个数为1到无穷多个。如/a+/表示 a的个数最少1个,最多无限个
-
?:表示他前面的字符为0到1个。如/a?/表示a的个数最少0个,最多一个
-
{n}:表示他前面的字符只能是n个.如/a{3}/表示字符串中包含3个字符a
-
{n, }:表示他前面的字符为n到无穷多个,如/a{3, }/表示字符串 a的个数大于等于3个
-
{n,m}:表示他前面的字符的个数为n-m个.如a{1,5}表示a的个数为1-5个
(3)、转义字符
转义字符:所谓转义字符就是指在普通字符的前面加反斜线,使得他具有特定的功能和含义,也可以在具有特定的功能和含义的字符前面加反斜线,将他转换为普通字符 如:\\d表示任意一个数字/\\表示将正则表达式中的斜线转换为普通的斜线
-
\\d:表示任意一个数字
-
\\D:表示任意一个非数字
-
\\w:表示任意一个字母、数字、下划线
-
\\W:任意一个非字母数字下划线
-
\\s:表示任意一个空白符,比如制表符、空格
-
\\S:任意一个非空白符
(4)、备选字符集
-
[值1 值2 值3 值4]
:中括号里面的值表示字符串中可以匹配到的任意一个值 -
[值1-值n]:
表示值1到值n间的任意一个值为备选选项 -
[^值1 值2 值3]
:表示字符串中不可以包含中括号里面的任意一个值 -
[\\u4e00-\\9fa5]
:表示任意的一个汉字
四、正则表达式的匹配模式
1)贪婪模式:指正则表达式在对字符串进行匹配时尽可能多的匹配字符,默认就是贪婪模式
2)懒惰模式:指正则表达式在对字符串进行匹配时尽可能少的匹配字符,默认是贪婪模式,如果要将贪婪模式转化为懒惰模式,需要在数量修饰符后面加问号
(五)、字符串对象中和正则表达式结合使用的方法
(一)、split方法
- 作用:将字符串转化为数组
- 格式:
字符串名称.splite('分隔符');
(二)、match方法
- 作用:从字符串中查找到符合条件的
- 格式:字符串.match(子串);
- 返回值:由子串形成的数组,默认只返回找到符合条件的第一个子串,如果要找到符合条件的所有的子串需要使用正则表达式作为参数
(三)、repalce方法
-
作用:替换字符串中指定的子串
-
格式:
字符串.repalce.('要被替换的子串','新的子串');
-
返回值:默认情况下,只替换符合条件的第一个子串,如果要将所有的子串替换掉,则需要使用正则表达式 且这个正则表达式需要使用修饰符g,如果要替换的子串不存在则返回原串
(四)、search方法
- 作用:在字符串从左向右查找子串位置,如果存在则返回该子串对应的下标,否则返回-1,功能类似于
indexOf
方法 - 格式:
字符串.search('子串');
- 注意:该方法可以和正则表达式结合使用,但是就算正则表达式中有修饰符g,在匹配的时候也只能返回查找到的第一个子串
六、正则表达式常用的修饰符
- i:表示忽略大小写
- g:表示全局匹配
- ig/gi:表示既忽略大小写也全局匹配
以上是关于JavaScript学习(六十七)—正则表达式学习总结的主要内容,如果未能解决你的问题,请参考以下文章
Python机器学习(六十七)Matplotlib 图形绘制
osg学习(六十七)InputIterator::checkStream() : _in->rdstate() 3, 2