JavaScript面向对象中的RegExp类型(正则表达式)个人分享

KeLongRen
• 阅读 1117

RegExp类型

正则表达式是什么?

  • 所谓正则表达式就是是一种表达文本模式的方法,用来给指定的模式来匹配文本(就是验证字符串是否符合预先设置的格式)

创建正则表达式

1.字面量方式/直接量方式

  • var 变量名 = /pattern/attributes

    • pattern - 称为模式,用于定义正则表达式的内容
    • attributes - 称为修饰符,用于定义正则表达式的行为

示例代码:

var reg = /123456789/i;

2.构造函数方式

  • var 变量名 = new RegExp(pattern [, attributes])

    • pattern - 称为模式,用于定义正则表达式的内容
    • attributes - 称为修饰符,用于定义正则表达式的行为

示例代码:

var reg = new RegExp('123456789', 'i');

正则表达式的运行

示例代码:

// 1.定义用于判断是否符合正则表达式的内容
var str = 12345678;
// 2.定义一个正则表达式 - 定义规则
var reg = /123456789/;// 表示当前输入的内容必须全部为数字
/*
    3.利用正则表达式来判断指定内容是否符合规则要求
      RegExp类型提供验证的test(参数)方法
      * str - 表示当前要验证的内容
      * 返回值 - 布尔值,表示验证后的结果
        * true - 表示内容符合定义的规则
        * false - 表示内容不符合定义的规则
  */
var result = reg.test(str);
console.log(result);// 调用结果为 false

字符类

示例代码:

var str  = 'king';

// 正则表达式的内容中定义规则 - 验证的内容是否包含规则
var reg = /123456789/;

// 正则表达式的内容中定义规则 - 验证的内容匹配任何字符即可
var reg = /[0123456789]/;
var reg = /[\d]/;
var reg = /[0-9]/;

var reg = /[a-zA-Z]/;

var result = reg.test(str);
console.log(result);

重复

  • 在JavaScript中的正则表达式用来描述任意多位的数字,或者描述由三个字母和以个数字构成的字符串时,可以使用字符重复的标记

    • {n, m} - 表示字符类中任意字符出现的次数

      • n - 表示至少出现n次(包含n次)
      • m - 表示至多出现m次(包含m次)
  • 注意 - 出现的次数必须是连续的

示例代码:

var str = 'yihu123ayi12shijie';

var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);

匹配指定位置

  • 当同时设置开始和结束时 - 表示所匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配

示例代码:

var str = '12a45';

// 表示以什么开始的
// var reg = /^[0-9]{3,5}/;
// 表示以什么结束的
// var reg = /[0-9]{3,5}$/;
// 表示匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配
var reg = /^[0-9]{3,5}$/;

var result = reg.test(str);
console.log(result);

修饰符

  • 正则表达式的修饰符

    • i - 表示搜索时不区分大小写
    • g - 表示全局所搜
    • m - 表示多行搜索

示例代码:

var str = 'yihuayishijie';


var reg = /^[A-Z]{8,15}$/i;
var result = reg.test(str);
console.log(result);

exec()方法

  • 作用 - 用于匹配指定内容
  • 返回值 - 数组

    • 第一个元素 - 表示匹配的内容
    • 第二个元素 - 表示匹配内容对应的位置
    • 第三个元素 - 表示完整内容
  • 注意 - 如果不匹配,那么返回的结果为 null

示例代码:

var str = 'yihuayishijie';

var reg = /i{1}/;

 
var result = reg.exec(str);
console.log(result);

点赞
收藏
评论区
推荐文章
半臻 半臻
4年前
Python基础11——正则表达式
19正则表达式19.1正则基础正则表达式:字符串处理工具应用场景1.html查询2.验证字符串是否符合规则re模块match方法python通过正则表达式对字符串进行匹配importre使用match方法进行匹配操作re.match()从字符串的开始位置进行匹配,匹配成功,返回match对象。匹配失败,返回Noneresre
Stella981 Stella981
3年前
JavaScript 正则表达式上——基本语法
定义JavaScript种正则表达式有两种定义方式,定义一个匹配类似<%XXX%的字符串1\.构造函数varregnewRegExp('<%\^%\%','g');2\.字面量varreg/<%\^%\%/g;g:global,全文搜索,默认搜索到第一个结果接停止
Stella981 Stella981
3年前
Python3正则表达式
在Python中使用正则表达式Python语言通过标准库中的re模块(importre)支持正则表达式。使用match方法匹配字符串匹配字符串也就是设定一个文本模式,然后判断另外一个字符串是否符合这个文本模式。importre
Wesley13 Wesley13
3年前
MYSQL正则表达式
MySQL中使用REGEXP操作符来进行正则表达式匹配。下表中的正则模式可应用于REGEXP操作符中。模式描述^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配'\\n'或'\\r'之后的位置。$匹配输入字符串的结束位置。如果设置了RegExp对象的Mul
Wesley13 Wesley13
3年前
JS中正则表达式
正则表达式的定义js中的正则表达式使用RegExp对象表示,两种创建正则表达式对象的方法直接量定义将表达式包含在斜杠之间varpattern/js/;构造函数定义:使用RegExp()构造函数定义varpatternnewRegExp('js');
Stella981 Stella981
3年前
Python正则表达式用法详解
搞懂Python正则表达式用法Python正则表达式正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python自1.5版本起增加了re模块,它提供Perl风格的正则表达式模式。re模块使Python语言拥有全部的正则表达式功能。compile函
Stella981 Stella981
3年前
Regex 正则表达式入门
!在这里插入图片描述(https://imgblog.csdnimg.cn/20200502170142100.jpg?pic_center)0,什么是正则表达式正则表达式(RegularExpression简写为Regex),又称为规则表达式,它是一种强大的文本匹配模式,其用于在字符串中查找匹配符
Stella981 Stella981
3年前
JavaScript基础入门10
JavaScript基础入门10\toc\正则表达式正则表达式(regularexpression)是一个描述字符模式的对象。在JavaScript中,RegExp表示正则对象。在开发的工作当中,我们经常需要使用正则表达式强大的模式匹配、文本检索、以及替换功能。简单的说,
Wesley13 Wesley13
3年前
Java
最近处于工程尾期,抽出点时间来学习下工程中用到的知识点。1.正则表达式作用:它使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。举例:在很多文本编辑器里,正则表达式被用来检索、替换某些文字或字符串。注意:当正则表达式和字符串函数都能解决问题时,尽量使用字符串函数,这样不容易出错,最重要的一点是字符串函数比正则表达式实现性能上要好得
Stella981 Stella981
3年前
JavaScript中的正则表达式详解
摘要:javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的相关知识和用法。正则表达式(RegularExpression)是一门简单语言的语法规范,是强大、便捷、高效的文本处理工具,它应用在一些方法中,对字符串中的信息实现查找、替换和提取操作。正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现
看不懂正则表达式?试试可视化工具吧!
1.前言是一种用来匹配字符串的强有力工具。设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串我们就认为它“匹配”了,否则该字符串就是不合法的。日常开发中常常会使用正则表达式,例如:对数据格式进行校验(判断一个字符串是否是合法的Emai