美文网首页
正则表达式(基础版)

正则表达式(基础版)

作者: Jianshu9527 | 来源:发表于2016-11-24 23:09 被阅读25次
1 正则表达式(规则表达式)
 '正则表达式是对字符串操作的一种逻辑公式',
就是事先定义好的一些特定字符,以及这些特定字符发组合,
组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑
  • 正则表达式是一个字符串
  • 表示一种规则
  • 用(有)自己特定的编写语法
  • 用于对其它字符串进行验证或者匹配
2 与其他语言的关系
  • 它是一独立的体系,不依赖其他任何编程语言,(但是由于过于它很强大),其它的编程语言里面种会提供对正则表达式的支持
  • 正则表达式在编程语言中的写法都是统一的(php,java,js...中的正则表达式都是一样的)
3 案例

※※生日的判断

<form action="http://www.baidu.com">
  <input type="text" pattern="\d{4}-\d{2}-\d{2}" required placeholder="请输出入生日"/>(*示例:1990-10-11)
  <input type="submit" value="提交"/>
</form>
效果.png
4 js中的正则

4.1 创建(RegExp)

1)构造器创建:

var r1 = new RegExp( "a" );
var r2 = new RegExp( "a","gim" )
new RegExp(pattern, attributes);

2)字面量创建(类比创建对象,都有两种方法)

  • 基本格式
var r = /字符串/;

说明:类比如果是字符串,则前后都要加( " " )
如果是对象前后加{ }
如果是数组前后加[ ];
如果是正则前后加/ /(界定符);
类比:使用对象的属性:用[]
当属性名是一个变量是,只能使用-[];
当正则表达式是一个变量是,则只能使用RegExp;

4.2 正则表达式的构成

  • 1)界定符
  • 2)原子(构成正则表达式的最基本的单位,必不可少)
  • 3)元字符(修饰原子的)
  • 4)模式修正符
    • I (忽略大小写)
    • G(全局匹配)
    • M(多行)
5 原子

5.1 一个字符

  • 表示一个字符
    A-Z,a-z,0-9基本的字符,它们只能表示一个字符
    /a/只能表示 a;
    /abc/只能表示 abc.

5.2 一类字符

  • 表示多个
    \d表示数字:一个数字,即0-9;
    \D表示:非数字;
    \s:空格;
    \S:非空格;
    \w:表示"字";
    \W:表示非"字";
6 元字符
元字符.png
  • 作用:修饰它前面的一个原子,只能修饰一个原子,并且必须在它的前面

6.1 开始&&结束

    1. ^ 开始(表示目标字符串应该以它后面的原子开始)
console.info(/f/.test("asfsd"));//true 
console.info(/^f/.test("asfs"));//false
console.info(/^f/.test("fasfsd"));//true
  • 2)$结束(表示目标字符串应该在它后面的原子结束)
console.info(/af$/.test("fasfsdf"))//false
console.info(/af$/.test("fasfsaf"))//true

6.2 数量的表示

  • 1)+ 表示前面的 一个原子要重复一个以上
console.info(/f+/.test("abcdeg"));//false
console.info(/f+/.test("abcdeffg"));//true
  • 2)? 表示前面的一个原子要重复0次或者一次
console.info(/f+/.test("abcdef"));//false
console.info(/f?/.test("abcdefg"));//true
console.info(/f?/.test("abcdeffg"));//true
  • 3){最大值,最小值}表示前面的一个原子要重复[最小值,最大值]次;
console.info(/\d{1,2}/.text("0"));//true
console.info(/\d{1,2}/.text("01"));//true
console.info(/\d{1,2}/.text("012"));//true
  • 4)\d{m}一定要出现的m次
console.info(/\d{3}/.text("0"));//false
console.info(/\d{3}/.text("00"));//false
console.info(/\d{3}/.text("000"));//true
console.info(/\d{3}/.text("0000"));//true
  • 5)\d{m,}前面的原子出现至少m次
console.info(/\d{3,}/.text("00"));//false
console.info(/\d{3}/.text("000"));//true
console.info(/\d{3}/.text("0000"));//true

6.3 转义的表示

    1. :作用改变字符的原来意思(和逻辑非内饰 相反的进行取结果)
    1. \b表示一个边界.空格
console.log(/\bis\b/.test("abc is land"));//true

-3) \B表示一个非边界

console.log(/is\B/.test("abcisland"));//true

6.4 常见的分组

  • 1)表示分组:把几个原子打包成一个大原子
console.log(/a(bc){2}/.test("abcc"));//false
console.log(/abc{2}/.text("abcc"));//true

6.5 逻辑的关系
格式:[原子1 原子2 原子3.....];
作用:[]内的原子集合中,必须要有一个

console.log(/1[012]-[0123]\d/.test("10-10));//true
console.log(/1[012]-[0123]\d/.test("101-10));//false
console.log(/1[012]-[0123]\d/.test("111-10));//true
  • 1)[ ]中的原子任何一个都可以
  • 2)[ ]只能表示一个原子.
7 案例一
  • 网页中的常见的匹配验证

相关文章

  • 正则表达式

    基础正则表达式 拓展正则表达式 贪婪与懒惰

  • 正则表达式(基础版)

    1 正则表达式(规则表达式) 正则表达式是一个字符串 表示一种规则 用(有)自己特定的编写语法 用于对其它字符串进...

  • 正则表达式(Java版整理)

    正则表达式(Java版整理) 基础 元字符 重复 字符类 想查找数字,字母或数字,空白是很简单的,因为已经有了对应...

  • 笔记:正则表达式

    正则表达式基础部分笔记

  • linux(十一) 正则

    基础正则表达式字符汇整 延伸型正则表达式 去除注释行和空行 如果使用基础正则表达式 如果是空白行,只有$,这样使用...

  • Java基础:正则表达式

    相关阅读 Java基础:String类 Java字符串格式化 Java基础:正则表达式 1. 正则表达式概述 正则...

  • python七正则表达式总结

    正则表达式 基础可选标志 重点:

  • 常用正则表达式及基础知识

    正则表达式 基础知识 正则表达式具有特殊含义的标点符号^ $ . * + ? = ! : | \ / ( ) [ ...

  • 正则表达式

    1 正则表达式 2 元字符介绍 3 BRE 和 ERE 1 BRE(基础正则表达式) 2 ERE (扩展正则表达式...

  • Python正则表达式指南

    Python正则表达式指南 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达...

网友评论

      本文标题:正则表达式(基础版)

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