资讯专栏INFORMATION COLUMN

JavaScript正则表达式

xavier / 1546人阅读

摘要:基本概念正则表达式是用于匹配字符串中字符组合的模式。正则表达式有两部分组成,一部分是普通字符,一部分是特殊字符。正则表达式的创建有两种方式对象字面量和对象构造函数。

1:基本概念

正则表达式是用于匹配字符串中字符组合的模式。它也是一个描述字符模式的对象,使用正则表达式可以进行强大的模式匹配和文本检索与交替功能。

正则表达式有两部分组成,一部分是普通字符,一部分是特殊字符。普通字符比如说键盘可以输出的这些字母大写A-Z和小写a-z,0-9的数字;特殊字符可以是^代表以什么开头、$代表以什么结尾、.、(x)、...。

2:正则表达式的创建

有两种方式:对象字面量和RegExp对象构造函数。

对象字面量

  //定义正则abc
  var reg = /abc/;
  reg.exec("abcd");

使用正则对象RegExp构造函数

  var reg = new RegExp(/abc/);
  reg.exec("abcd");

3:正则表达式的字符介绍 匹配符

概念:指定一个匹配规则,然后去某一个字符串去匹配符合当前规则的内容

匹配符介绍:

[a-z],小写字母从a-z的任一字符

  var reg = new RegExp(/abc[a-z]/);
  reg.exec("abc0");

[A-Z],大写字母从A-Z中的任一字符

[0-9] ,数字从0-9任一字符,相当于d

[0-9a-z],数字0-9或小写字母a-z任一字符

[0-9a-zA-Z],数字0-9,小写字母从a-z或大写字母A-Z的任一字符

[abcd],字符abcd中的任一字符

[1234],数字1234中任一字符

1,除小写字母a-z以外的任一字符

2,除数字0-9以外的任一字符

d,一个数字字符,用字符族表示[0-9]

  var reg = new RegExp(/abcd/);
  reg.exec("abcd");

D,一个非数字字符,也可以使用字符族23来表示

w,包括下划线的任何单词字符,用字符族[0-9a-zA-Z]

  var reg = new RegExp(/w/);
  reg.exec("abcd");

W,任何非单词字符,45

s,任何空白字符,空格、制表符、换行符都可以通过s匹配

S, 任何非空白字符,6

.,除"n"之外的任何单个字符

限定符(匹配有个数的限定)

常用限定符:

*,0到多个,可以使用{0,}代替

  var reg = new RegExp(/abc*/);
  reg.exec("abccccccccccc");

+,1到多个,可以使用{0,1}代替

?,0或1,可以使用{0,1}代替

{n} ,匹配多次,如{17},连续匹配17次

{n,} ,至少匹配n次,如{1,},代表最少匹配1次

{n,m},至少匹配n次且最多匹配m次,如{1,7}表示最少匹配一次最多7次

  var reg = new RegExp(/abc{4});
  reg.exec("abccc");

定位符

常用定位符介绍:

^ ,匹配输入字符串的开始位置

$ ,匹配字符串的结束位置

b,匹配一个单词边界

B,匹配非单词边界

转义符

,遇到正则中特殊符号需要转义

var reg = new RegExp(/abc/g);
"abcabcabcabcabc".match(reg);
选择匹配符

|, 或

标志符

g,全局搜索

i ,不区分大小写搜索

4:正则表达式方法

有两个:

test() 是否匹配的RegExp方法,返回true或false
var reg = new RegExp(/^abc{4}/);
reg.test("dabccc");

exec() 检索字符串中的正则表达式的匹配,返回一个数组,可循环调用(/g)

  var reg = new RegExp(/abc/g);
  reg.exec("abcabcabc");

match,String对象方法,检索字符串的正则表达式的匹配(/g时全部匹配)

search,String对象方法

replace,String对象方法

split,String对象方法

本篇文章主要分享了Javascript中正则表达式的基本概念, 介绍了常用的特殊符号:匹配符、限定符、定位符、转义符、选择匹配符和标志符,然后结合实例介绍了正则表达式的常用方法:test()和exec()。

  • a-z ↩

  • 0-9 ↩

  • d ↩

  • 0-9a-zA-Z ↩

  • W ↩

  • s ↩

  • 文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/106124.html

    相关文章

    • 正则达式

      摘要:本文内容共正则表达式火拼系列正则表达式回溯法原理学习正则表达式,是需要懂点儿匹配原理的。正则表达式迷你书问世了让帮你生成和解析参数字符串最全正则表达式总结验证号手机号中文邮编身份证地址等是正则表达式的缩写,作用是对字符串执行模式匹配。 JS 的正则表达式 正则表达式 一种几乎可以在所有的程序设计语言里和所有的计算机平台上使用的文字处理工具。它可以用来查找特定的信息(搜索),也可以用来查...

      bang590 评论0 收藏0
    • JavaScript正则达式的匹配模式

      摘要:选择分组和引用正则表达式的语法还包括指定选择项子表达式分组和引用前一子表达式的特殊字符。带圆括号的表达式的另一个用途是允许在同一正则表达式的后部引用前面的子表达式。 正则表达式(regular expression)是一个描述字符模式的对象。JavaScript的 RegExp类 表示正则表达式,String和RegExp都定义了方法,后者使用正则表达式进 行强大的模式匹配和文本检索与...

      wqj97 评论0 收藏0
    • JS正则达式入门,看这篇就够了

      摘要:如果遇到非常的复杂的匹配,正则表达式的优势就更加明显了。关于正则表达式书写规则,可查看,上面说的很清楚了,我就不贴出来了。替换与正则表达式匹配的子串,并返回替换后的字符串。结语正则表达式并不难,懂了其中的套路之后,一切都变得简单了。 前言 在正文开始前,先说说正则表达式是什么,为什么要用正则表达式?正则表达式在我个人看来就是一个浏览器可以识别的规则,有了这个规则,浏览器就可以帮我们判断...

      wenzi 评论0 收藏0
    • JavaScript 中的正则达式

      摘要:正则表达式的意义中的正则表达式使用表示,可以使用构造函数来创建对象,不过对象更多的是通过一种特殊的直接量语法来创建。用构造函数也可以定义一个与之等价的正则表达式,代码如下正则表达式的模式规则是由一个字符序列组成的。 正则表达式的模式匹配 正则表达式(regular expression)是一个描述字符模式的对象。javascript的RegExp对象表示正则表达式,String和Reg...

      _Dreams 评论0 收藏0
    • JavaScript中的正则达式

      Javascript的正则表达式是前端中比较重要的部分,正则表达式主要用于字符串处理,表单验证等场合,实用高效,文章主要对JavaScript中的正则的学习与总结 正则表达式的定义 正则表达式:是一个描述字符模式的对象,JavaScrip中正则表达式用RegExp对象表示,可以使用RegExp构造函数来创建正则对象 正则表达式的创建 1.字面量创建 var reg = /[a-z]/; 2.构...

      _Zhao 评论0 收藏0
    • 简单说 正则达式——要注意lastIndex属性

      摘要:返回是一个只读的布尔值,看这个正则表达式是否带有修饰符。方法,它的参数是一个字符串,用对某个字符串进行检测,如果包含正则表达式的一个匹配结果,则返回,否则返回。总结这次主要是说说,中正则表达式对象的个属性,而最需要注意的就是属性了。 说明 这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。 解释 每个RegExp对象都包含5个属性,source、global、ign...

      jokester 评论0 收藏0

    发表评论

    0条评论

    xavier

    |高级讲师

    TA的文章

    阅读更多
    最新活动
    阅读需要支付1元查看
    <