首页 > 其他分享 >js正则表达式详解(一):语法

js正则表达式详解(一):语法

时间:2023-03-09 17:31:48浏览次数:41  
标签:字符 正则表达式 字母 字符集 zA 空字符 js 详解 一位


什么是: 专门定义一类字符串统一规则的表达式 

   何时: 1. 按照指定规则模糊查找一类关键词时
            2. 表单中验证输入项的格式

   如何: 语法:    
      1. 最简单的正则其实就是关键词原文
      2. 字符集: 规定字符串中一位字符可用的备选字符列表
         何时: 只要某一位字符,有多个备选字时
         如何: [备选字符列表]
           强调: 一个字符集只能匹配一位字符
           简写: 如果备选字符列表是连续的,就可用-省略中间字符
              一位字母: [a-zA-Z]
              一位数字: [0-9]
              一位汉字: [\u4e00-\u9fa5]
         特殊: 除了: [^排除的字符列表]
                    强调: ^必须写在[开头]
     3. 预定义字符集: 4个:
          \w  一位字母数字或_  =>[a-zA-Z0-9_]
          \d  一位数字  => [0-9]
          \s  一位空字符: 空格,Tab,...
          .    一位任意字符
        强调: 一个预定义字符集仅匹配一位字符
                 只有规则和预定义字符完全一致时,才能使用
                      如果不一致, 依然需要手写普通字符集
         字符集仅控制每个字符的内容
     4. 量词: 专门固定字符出现的次数
         有明确数量边界: 
           字符集{min,max}   规定字符集必须最少出现min次
                                                                 最多max次
           字符集{min,}   最少min次, 多了不限
           字符集{n}        必须n次
         没有明确数量边界:
           字符集?     可有可无,最多一次
           字符集*     可有可无,多了不限
           字符集+    {1,}
         强调: 仅修改相邻的前一个字符集
     5. 选择和分组: 
         分组: 将多个字符集分成一组: 
             何时: 如果希望一个量词同时修饰多个字符集时
            比如: 我(了个?)?去: 我去   我了去   我了个去    我个去X
         regexper.com
         选择: 其实就是"或"   规则1|规则2 
            只要匹配任意一个规则即可
            (微|w(ei)?)\s*(信|x(in)?)
       
     手机号: 
         (\+86|0086)?      +86或0086  可有可无,最多一次
         \s*                        空字符 可有可无,多了不限
         1
         [34578]               34578中挑一个
         \d{9}                    9位数字
         (\+86|0086)?\s*1[34578]\d{9}
     邮箱:
         字母/数字或_   一次以上
         @
         字母或数字      2位以上
         (.和 字母或数字      2到3位)   1到2次
         \w+@[a-zA-Z0-9]{2,}(\.[a-zA-Z0-9]{2,3}){1,2}

   6.指定匹配位置: 三个位置: 
      ①字符串的开头  ^
      ②字符串的结尾  $
         比如: 开头的空字符: ^\s+
                  结尾的空字符: \s+$
                  开头或结尾的空字符^\s+|\s+$
         固定套路: 只要希望字符串和正则从头到尾完全匹配
                         比如同时前加^后加$
                只要用正则表达式执行验证时,必须前加^后加$
      ③单词边界        \b  包含: ^  $   空格    标点
         比如: 单词首字母: \b[a-z]
                  单词尾字母: [a-z]\b
                  单独的一个单词no: \bno\b

标签:字符,正则表达式,字母,字符集,zA,空字符,js,详解,一位
From: https://blog.51cto.com/u_16000296/6111068

相关文章

  • js正则表达式详解(二):RegExp的Api
       验证:检查字符串是否完全符合正则表达式的要求!   如何:varbool=reg.test(待检测字符串)     强调:只要验证,reg中必须前加^后加$    ......
  • 打造让别人眼前一亮的Portfolio(从0到1) - 使用React和Three JS
        【打造让别人眼前一亮的Portfolio(从0到1)-使用React和ThreeJS】https://www.bilibili.com/video/BV1D54y1u7a7?vd_source=9dbcff019fe7cd087d0ea14c75f1546......
  • json解析异常显示{“$ref“:“$[0]“}
    在编写测试代码实现一个组织架构树的功能时,部门的parent部门没有显示,出现了json解析异常错误[{“ref":"ref":"ref":"[0]”}][{“ref":"ref":"ref":"[1]”}]......
  • 【js】CommonJS、AMD、CMD三种规范
    前言这三个规范都是为Js模块化加载而生的,使模块能够按需加载,使系统同庞杂的代码得到组织和管理。模块化的管理代码使多人开发得到了更好的合作一、CommonJS是一种为JS的......
  • CorelDRAW2023即将发布!详解七大新功能
    orelDRAW2023新功能有哪些?CorelDRAW2023最新版本更新怎么样?让我们带您详细了解!CorelDRAWGraphicsSuite2023是矢量制图行业的标杆软件,2023年全新版本为您带来多项新功能和......
  • 第四章.helm3内置函数详解
    一.helm3的内置函数简单介绍1.常用的helm3内置函数(1).quote或squote函数(2).upper和lower函数(3).repeat函数(4).default函数(5).lookup函数2.函数......
  • Node.js 子进程 cluster
    多进程HTTPServerimporthttpfrom'http';importclusterfrom'cluster';import{pid,ppid}from'process';functionserver(){letport=9999;l......
  • <asp:RadioButtonList > JS
    <asp:RadioButtonListID="radlDAYINBZ"runat="server"RepeatDirection="Horizontal"RepeatLayout="Flow"></asp:RadioButtonList>判断是否选中if($('input:radio[name=......
  • EditPlus 正则表达式 实战_1
    entity.JIANCHARQ=null;entity.YUYUERQ=null;entity.NIAODANB=null;entity.XUETANGPJ=null;entity.JIANCHADWBM=null;entity.JIANCHAJG=null;entity.JIANCHAJGMS=null;entit......
  • JS变换数据再显示
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"conten......