小白的正则攻略第一期 | 基本概念

312 阅读3分钟

这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战

正则表达式的使用非常广泛,尤其是表单校验的时候经常需要用到。很多时候我们虽然用到了正则,但其实并不会写也看不懂,本系列主要总结正则表达式的基本概念及用法,目标是不求会写但求看懂。

前言

正则表达式是匹配模式,要么匹配字符,要么匹配位置。

正则的创建方式

通过字面量(常用)

/正则表达式主体/修饰符(可选)

通过构造函数

在 JavaScript 中,RegExp 对象是一个预定义了属性和方法的正则表达式对象。

new RegExp('正则表达式主体','修饰符(可选)')

image.png

二者区别

1、字面量方式中出现的一切都是元字符,不能进行变量值的拼接,实例创建的方式可以;

2、字面量中直接写\d,在实例中需要把它转译\\d;

正则表达式和方法

正则表达式方法

test() 方法

/*
*string:必需。要检测的字符串。
*/
RegExpObject.test(string)

关键词

  • 返回结果 true 或者 false

image.png

var regex = /Axjy/;
regex.test(str);

等价于

/Axjy/.test(str);

test()用于检测一个字符串是否匹配某个模式;如果字符串中含有匹配的文本,则返回 true,否则返回 false;

exec() 方法

/*
*string:必需。要检测的字符串。
*/
RegExpObject.exec(string)

关键词

  • 返回结果 数组 或者 null

image.png

exec()用于检索字符串中的正则表达式的匹配;该函数返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。

正则表达式在方法中的使用

正则表达式参数可用在以下方法中替代字符串参数

search() 方法

关键词

  • 返回结果位置-1

示例

从0开始算起; image.png

如果没找到,则返回-1

image.png

search()用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串;
返回与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置;

replace() 方法

/*
*searchvalue:必需,字符串或正则
*newvalue:必需,字符串
*/
string.replace(searchvalue,newvalue)

关键词

  • 返回新字符串

image.png

replace()用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
返回一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

match() 方法

string.match(regexp)

关键词

  • 返回数组null

image.png

match()可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
找到返回数组,未找到返回null;

split() 方法

/*
*separator:可选,字符串或正则表达式
*limit: 可选,指定返回的数组的最大长度
*/
string.split(separator,limit)

关键词

  • 字符串转数组

image.png

split()用于把一个字符串分割成字符串数组,不改变原始字符串;
返回一个字符串数组;

结语

下期预告:小白的正则攻略第二期 | *****

参考:JavaScript 正则表达式


小可爱看完点个赞再走吧!😗