美文网首页
正则笔记

正则笔记

作者: 简小园 | 来源:发表于2019-06-11 00:11 被阅读0次

写在前面

简单说,正则表达式就是用来安全校验的。

写法:
  1. JS风格:let re=new RegExp('\\d+', 'g');
  2. perl风格:let re=/\d+/g;
    一般用第二种
    正则

定界符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配

  • / /
  • i:忽略大小写
  • g:全局匹配

元字符——[ ]

一个元字符代表一个字
[ 这里是要限制内容 ],例如:0-9,a-z,-,_等

  1. 任何一个
    /a[abc]q/ 匹配aaq,abq,acq
  2. 范围
    /[a-z]/ 匹配a-z
    /[a-z0-9]/ 匹配a-z和0-9
  3. 排除
    [^a-z] 匹配除了a-z的其他字符

量词——{ }

在正则里面,没有量词,就都是匹配一个

  • 不加量词,就是匹配一个
  • {n}:n个
    /\d{11}/ 匹配11个数字
  • {n,m}:m到n个,最少n个最多m个
    /\d{5,12}/ 匹配5到12位数字
  • {n,}:最少n个,多则不限
  • +:等价于{1,} 最少一个,多则不限
  • ?:可以没有,有的话,最多一个
    /\.jsx?/ 匹配 .js 和 .jsx
    有 . 的都要用 \ 转义一下
  • :匹配前面的子表达式零次或多次。例如,zo能匹配“z”以及“zoo”。*等价于{0,}。

转义

  • \d:指所有数字,等价于[0-9]
  • \D:指 [^0-9]
  • \w:数字字母下划线,等价于[A-Za-z0-9_]
  • \W:等价于[^A-Za-z0-9_]
  • \s:指任何空白字符,包括空格、制表符、换页符……等价于[ \f\n\r\t\v]
  • \S:指非空白,等价于[^ \f\n\r\t\v]
  • .:匹配除“\n”之外的任何单个字符
    /a.{5,18}z/ 匹配 a 5-18的任何字符 z
  • .|\n:匹配包括“\n”在内的任何字符

修饰符

普通校验中,只要一部分通过就全过,所以我们要用修饰符来限制他的范围

  • ^:行首
  • $:行尾
  • re=/^[1-9]\d$/ 从头到尾限制
  • re=/\.js$/i 忽略大小写 匹配以 .js 结尾的字符串
  • re=/^https?:\/\// 匹配网址

^ 在[]里面,表示非;在[]外面,表示行首

方法

  • search:返回第一次出现的位置
  • match:返回数组,里面是符合要求的字符串
  • replace:替换,返回一个新字符串
  • split:切字符串,返回切后的字符串
  • test:验证,返回true/false

优先级

当用到 “或|” 的时候,有优先级()问题
例如:匹配0~9999

// 或
// 1位  0~9
// 2位  10~99
// 3位  100~999
// 4位  1000~9999
// /\d|[1-9]\d|[1-9]\d\d|[1-9]\d\d\d/
// /\d|[1-9]\d{1,3}/
let re=/^(\d|[1-9]\d{1,3})$/;

匹配QQ

<script>
window.onload=function (){
  let oTxt=document.getElementById('txt');
  let oBtn=document.getElementById('btn');

  oBtn.onclick=function (){
    let re=/^[1-9]\d{4,11}$/;

    if(re.test(oTxt.value)){
      alert('通过');
    }else{
      alert('不通过');
    }
  };
};
</script>

<input type="text" id="txt">
<input type="button" value="校验" id="btn">
在线正则表达式测试:http://tool.oschina.net/regex/

相关文章

  • 学习笔记 正则表达式

    2021.01.19 北京海淀 -2℃ 小雪转晴 正则表达式学习笔记 说明:该笔记参考“菜鸟教程”网站正则表达式...

  • 笔记:正则表达式

    正则表达式基础部分笔记

  • js高级(四)

    JavaScript高级第04天笔记 1.正则表达式概述 1.1什么是正则表达式 正则表达式( Regular E...

  • 正则表达式学习笔记

    正则表达式学习笔记 一篇记录了学习正则表达式的笔记。 1. 转义字符 在 HTMl 中转义字符以 & 符号开头,分...

  • JavaScript正则表达式

    JavaScript 正则表达式 @(笔记)[正则表达式] 第一章 课程简介 1-1 JS正则表达式简介及应用 课...

  • 爬虫基础系列正则表达式——爬取简书个人文章标题

    正则表达式简单介绍 正则表达式我在VBA中有详细的阐述《VBA正则笔记》,在python语言中,它的方法与VBA大...

  • 一个程序员的自我学习第一天

    《正则表达式必知必会》笔记 第一章:正则表达式入门 1:正则表达式是一些用来匹配和处理文本的字符串。正则...

  • Python学习随笔

    本笔记整理自中谷教育在线教育视频 学习笔记——正则表达式常用符号 这里学习过正则表达式后,简单做了一个爬虫程序,效...

  • 转:Ruby笔记–正则表达式

    Ruby笔记–正则表达式 Ruby对正则表达式支持非常好,下面将对我经常使用到的做一个总结,包括Ruby中正则的写...

  • 正则笔记

    正则生成 调用RegExp对象的构造函数 使用正则表达式字面值,将匹配模式封闭在两个斜杠中 正则的组成 标示字符 ...

网友评论

      本文标题:正则笔记

      本文链接:https://www.haomeiwen.com/subject/gfwtaqtx.html