前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js正则表达式转义字符-4.   正则表达式的使用

js正则表达式转义字符-4.   正则表达式的使用

作者头像
囍楽云
发布2022-12-26 14:26:53
1.5K0
发布2022-12-26 14:26:53
举报
文章被收录于专栏:囍楽云博客

目录

  1. 什么是正则表达式

  (1)描述字符串组成结构的语法规则

  (2)用于匹配字符串中字符组合的模式

  (3)是一个对象

  2. 特点:灵活、逻辑性非常强、以非常简单的方式对字符串进行复杂的控制 3. 创建正则表达式

  (1)使用字面量:​ var 变量名 = / 表达式 /

  (2)使用RegExp构造函数:var 变量名 = RegExp(/ 表达式 /)

  或

  var 变量名 = new RegExp(/ 表达式 /)

  4. 正则表达式的使用

  (1)test()方法:返回值。true表示符合正则规则,false表示不符合正则规则

  使用语法:

  正则对象.test(被验证的字符串)

  (2)模式修饰符:/表达式/switch

  switch:是模式修饰字符,是可选的,通过它可以对正则进行进一步的设置

  g:表示全局匹配i:忽略大小写

  (3)边界符:

  ^:表示匹配行首的文本(表示以谁开头)

  $:表示匹配行尾的文本(表示以谁结尾)

  (4)预定义字符:

  . :除了’\n’之外的任意单个字符

  ​ \d :表示0~9之间的任意数字。等价于0-9

  \D: 表示匹配0~9以外的字符。等价于 ^0-9

  \w:表示匹配任意字母、数字和下划线。等价于a-zA-Z0-9

  \W:除所有字母、数字和下划线以外的字符js正则表达式转义字符,相当于 ^a-zA-Z0-9

  \b:单词分界符

  \s:匹配空格(包括换行符、制表符、空格符等),相当于\t\r\n\v\f

  强调:转义字符 ' \ ',若要输出反斜杠,要使用连续两个’ \ ‘

  (5)字符范围示例

  cat:匹配字符集合中的任意一个字符c、a、t

   ^cat :匹配除c、a、t以外的字符

  A-Z:匹配字母A~Z范围内的字符

  \u4e00-\u9fa5:匹配任意一个中文字符

  /^a-zA-Z0-9_-$/ :

  输入英文字母(不区分大小写)、数字、短横线-、下划线_的正则情况。

  (6)量词符

  ​ {mjs正则表达式转义字符,n}:表示{}之前的字符可以出现m~n次

  ​ {n}:表示{}之前的字符可以出现n次

  ?:匹配 ?之前的字符零次或一次。例如:hi?t —> ht hit

  + :匹配+前面的字符一次或多次。例如:bre+ad ——> bre….ad

_: 匹配前面的字符零次或多次。例如:bre_ad —->brad 、bre…ad

  (7) 括号字符:改变限定符的范围

  改变限定符范围之前:catch|er , 匹配结果:catch、er

  改变限定符范围之后:cat(ch|er),匹配结果:catch、cater

  分组前:abc{2} —->表示{}前面的c要出现两次

  分组后:a(bc){2} —->表示{}前面的bc要出现两次

  5. 贪婪匹配与懒惰匹配

  1、贪婪匹配:表示匹配尽可能多的字符。是正则表达式的默认匹配方式

  2、懒惰匹配:表示匹配尽可能少的字符。通过‘?’来实现

   var str = 'webWEBWebwEb';

代码语言:javascript
复制
    var reg1 = /w.*b/gi  //贪婪匹配
    
    console.log(reg1.exec(str))
    var reg2 = /w.*?b/gi //懒惰匹配,表示只要有一次匹配成功即可,不会继续进行匹配

  6. 正则表达式的优先级(优先匹配)

  一级:\ 转义字符 (最高)

  ​二级:()、

  三级:*、+、?、{n}、{n,}、{n,m}

  四级:^、$、\任何元字符、任何字符

  示例:

  身份证的正则:

  /^1-9\d{5}(19|20)\d{2}((01-9)|(10-2))((0-2)|10|20|30|31)\d{3}0-9Xx$/

本文共 708 个字数,平均阅读时长 ≈ 2分钟

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档