1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <title>正则表达式</title>
  7. <script>
  8. /**
  9. * 正则表达式:也叫规则表达式,按照一定的规则组成的一个表达式,这个表达式的作用主要是匹配字符串的,
  10. *
  11. * 正则表达式的作用:匹配字符串的
  12. * 在大多数的编程语言中都可以使用
  13. *
  14. * 正则表达式的组成:石油元字符或者是限定符组成的一个式子
  15. *
  16. * 元字符:
  17. * (1). 除了\n以外的任意一个字符 '1'
  18. * (2)[] 1、范围,[0-9] 0-9之间的任意一个数字|[a-z] a-z之间的任意一个小写字母|[A-Z] A-Z之间的任意一个大写字母|[a-zA-Z] a-z A-Z 之间的任意一个字母|[0-9a-zA-Z] 任意一个数字或者字母
  19. * 2、把正则表达式中元字符的意义干掉 [.] 表示的就是 一个.
  20. * (3)| 或者 [0-9]|[a-z] 要么是一个数字 要么是一个小写字母
  21. * (4)() 分组 提升优先级 如,[0-9]|([a-z])|[A-Z]优先计算小括号里面的小写字母 如,([0-9])([a-z])([A-Z]) 三组 从最左边开始计算 如,(()(())) 四组 (()((
  22. *
  23. * 以下这些既是元字符也可叫限定符:
  24. * (5) * 表示的是:前面的表达式出现了0次到多次 [a-z][0-9]* 会出现任意一个小写字母 且数字会出现0次到多次
  25. * 'svnazsjb230203023' [a-z][0-9]* true
  26. * (6)+ 表示前面表达式出现1次或多次
  27. * [a-z][9]+ 一个小写字母后面最少1个9,或者多个9 "jafmv9vadv"
  28. * (7)? 表示的是前面的表达式出现了0次到1次,最少0次,最多1次,另一个含义:阻止贪婪模式[4][a-z]? "142324ij"
  29. *
  30. * 限定符:限定前面的表达式出现的次数
  31. *
  32. * (8) { } 可以更明确前面的表达式出现的次数
  33. * (1、 {0,} 表示前面的表达式出现了0次到多次(*)
  34. * (2、 {1,} 表示前面的表达式出现了1次到多次(+)
  35. * (3、 {0,1} 表示前面的表达式出现了0次到1次(?)
  36. * (4、 {3,4} 表示前面的表达式出现了3次到4次
  37. * (5、 {4} 表示前面的表达式出现了4次
  38. * (6、 {,30} 错误的
  39. * (9) ^ 表示的是以什么开始(^[0-9] 以数字开头; ^[a-z] 以小写字母开头),或者是取非(取反)([^0-9] 非数字; [^0-9a-zA-Z)] 取特殊符号(下划线_不是特殊符号)
  40. *(10) $ 表示以什么结束[0-9][a-z]$ 必须以一个小写字母结束(1a); ^[0-9][a-z]$ 相当于严格模式 这样写 "1234re" falus// "4f" true
  41. *(11) \d 数字中的任意一个
  42. *(12) \D 非数字中的任意一个(字母+特殊符号)
  43. *(13) \s 空白符中的任意一个
  44. *(14) \S 空白符中的任意一个
  45. *(15) \w 非特殊符号(_)等价于[^0-9a-zA-Z_]
  46. *(16) \W 特殊符号 等价于[0-9a-zA-Z_]
    *(17) \b 单词的边界
    *(18) \f 换页符
    *(19) \n 换行符
    * * * * * * */
    /* #### 常用元字符串
    | 元字符 | 说明 |
    | ---- | --------------- |
    | \d | 匹配数字 |
    | \D | 匹配任意非数字的字符 |
    | \w | 匹配字母或数字或下划线 |
    | \W | 匹配任意不是字母,数字,下划线 |
    | \s | 匹配任意的空白符 |
    | \S | 匹配任意不是空白符的字符 |
    | . | 匹配除换行符以外的任意单个字符 |
    | ^ | 表示匹配行首的文本(以谁开始) |
    | $ | 表示匹配行尾的文本(以谁结束) |
    #### 常用元字符串
    | 元字符| 说明 |
    | ---- | ------------------------------ |
    | \d | 匹配数字 |
    | \D | 匹配任意非数字的字符 |
    | \w | 匹配字母或数字或下划线 |
    | \W | 匹配任意不是字母,数字,下划线 |
    | \s | 匹配任意的空白符 |
    | \S | 匹配任意不是空白符的字符 |
    | . | 匹配除换行符以外的任意单个字符 |
    | ^ | 表示匹配行首的文本(以谁开始) |
    | $ | 表示匹配行尾的文本(以谁结束) |
    #### 限定符
    | 限定符 | 说明 |
    | ----- | -----------------|
    | * | 重复零次或更多次 |
    | + | 重复一次或更多次 |
    | ? | 重复零次或一次 |
    | {n} | 重复n次 |
    | {n,} | 重复n次或更多次 |
    | {n,m} | 重复n到m次 |
    #### 其它
    [] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思
    [^] 匹配除中括号以内的内容 \ 转义符 | 或者,选择两者中的一个。
    注意|将左右两边分为两部分,而不管左右两边有多长多乱 () 从两个直接量中选择一个,
    分组 eg:
    gr(a|e)y匹配gray和grey
    [\u4e00-\u9fa5] 匹配汉字
    */ </script>
    </head>
    </html>

  

JavaScript —— 正则表达式元字符的更多相关文章

  1. javascript正则表达式——元字符

    元字符(Metacharacter)是拥有特殊含义的字符: 元字符        描述 (1)   .             查找单个字符,除了换行和行结束符. 例子: <!DOCTYPE h ...

  2. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  3. JavaScript 正则表达式上——基本语法

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  4. JavaScript正则表达式(三)

    正则表达式可以: •测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证 •替换文本.可以在文档中使用一个正则表达式 ...

  5. javascript正则表达式简介

      javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String ...

  6. 第一百零五节,JavaScript正则表达式

    JavaScript正则表达式 学习要点: 1.什么是正则表达式 2.创建正则表达式 3.获取控制 4.常用的正则 假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一 ...

  7. JavaScript正则表达式知识点

    通过学习imooc课程<JavaScript正则表达式>http://www.imooc.com/video/12539,对视频教学内容做一个知识整理. 一个正则表达式在线工具:http: ...

  8. javascript 正则表达式补充

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  9. JavaScript 正则表达式基础语法

    前言 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当 ...

随机推荐

  1. BZOJ3129/洛谷P3301方程(SDOI2013)容斥原理+扩展Lucas定理

    题意:给定方程x1+x2+....xn=m,每个x是正整数.但是对前n1个数做了限制x1<=a1,x2<=a2...xn1<=an1,同时对第n1+1到n1+n2个数也做了限制xn1 ...

  2. 原生jdbc操作

    1:加入dbcp连接池依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId> ...

  3. 使用Node,Vue和ElasticSearch构建实时搜索引擎

    (译者注:相关阅读:node.js,vue.js,Elasticsearch) 介绍 Elasticsearch是一个分布式的RESTful搜索和分析引擎,能够解决越来越多的用例. Elasticse ...

  4. HttpClientUtil工具类封装

    package com.jd.ng.shiro.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; ...

  5. 【leetcode】1038. Binary Search Tree to Greater Sum Tree

    题目如下: Given the root of a binary search tree with distinct values, modify it so that every node has ...

  6. 【leetcode】301. Remove Invalid Parentheses

    题目如下: 解题思路:还是这点经验,对于需要输出整个结果集的题目,对性能要求都不会太高.括号问题的解法也很简单,从头开始遍历输入字符串并对左右括号进行计数,其中出现右括号数量大于左括号数量的情况,表示 ...

  7. Oracle12c修改时区

    Oacle12c支持可插入数据库(PDB)在一个统一的数据库(CDB)中具有不同的字符集.时区文件版本和数据库时区. 出于性能原因,Oracle建议将数据库时区设置为UTC(0:00),因为不需要转换 ...

  8. Linux根据进程号查找其程序文件路径 及 lsof 命令使用

    查找进程文件路径 lsof -p pid 1.列出所有打开的文件: lsof 备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位 2. 查看谁正在使用某个文件 lsof   ...

  9. vim安装bundle和使用

    一.准备工作 安装Git(因为下面我们选择的插件管理器需要使用到它)安装其他插件前首先需要选择一个Vim插件管理器,我这里选择的是Vundle,Vundle的工作过程中需要通过Git自动从远程创库同步 ...

  10. (3.1)狄泰软件学院C++课程学习剖析二

    深度剖析C++第二部分 1.通过对象名能够访问public成员变量.每个对象的成员变量都是专属的,成员变量不能够在对象之间共享. 2.需求:统计在程序运行期间某个类的对象数目,保证程序的安全性(不能使 ...