正则表达式

初识正则表达式:

创建一个正则表达式

  1. 正则表达式字面量
var reg = /abc/;
  1. new RegExp();
var reg = new RegExp('abd')  //括号里面写的是规则

.给正则表达式添加属性:

     i(ignoreCase) : 忽视大小写g(global)  : 执行全局匹配m  : 执行多行匹配

RegExp对象的方法

   compile() : 编译正则表达式exec() : 检索字符串中指定的值,返回找到的值,并确定其位置test() : 检索字符串中指定的值,返回true 或false reg.exec() 是一个匹配的方法  (重要)

String 对象的方法

 search() :检索与正则表达式相匹配的值fiomatch() :找到一个人或多个匹配           (常用)replace() :替换与正则表达式匹配的子串     (常用)split() : 把字符串分割为字符串数组       (常用)

表达式

   []方括号:代表一位数,里面放的值表示一个区间 ^ 在表达式里面表示 "非" 的意思^ 不在表达式括号里面表示必须是后面这位数 /^1/:开头必须是1$ 不在在表达式中括号中表示的意思是最后一位数必须是以什么结尾的   /ed$/,以ed匹配以ed结尾的字符串

元字符

     \w :代表一位,查找单词字符, \w==== [0-9A-z]\W  ==== [^\W]\d :====[0-9] 查找数字 \D  ====[^\d]\s === [查找空白字符,即\t\n\r\v\f] 最常用的是空格和换行 \S ===[^\s] 非空白字符\b === 匹配单词边界\D === 匹配非单词边界单词边界在字符串里面可以看成是(空格). :查找单个字符,除了换行和行结束符

量词(表示匹配数量的词)
n+ 匹配任何包含至少一个n的字符串,这个变量可以出现1到无数次

     var str = 'abc' ;console.log(str.match(reg))

n* 匹配任何0个到多个n的字符串,这个变量可以出现0到无数次 最后会返回一个空串

      var reg =/\w*?/g;var str = 'aaaaaaaa';console.log(str.match(reg));

n? 匹配任何包含零个或一个n的字符串,这个变量0个或1个匹配 ,最后会匹配一个空字符串

     var reg = /\w?/g;var str = 'aaaaaaaaaa';console.log(str.match(reg));

n{X} 匹配包含 x个n 的序列的字符串 (无贪婪匹配的选择)

 var reg = /\w{3}/g;var str = 'aaaaabbbbb';console.log(str.match(reg));

n{X,Y} 匹配包含X至Y个n的序列的字符串 (适用贪婪匹配规则)

 var reg = /\w{2,4}?/g; var str = 'asf23rfdsvwe'console.log(str.match(reg));

n{X,} 匹配包含至少X个序列的字符串 (适用贪婪匹配规则)

    var reg  = /\w{3,}?/g;var str = '32rewvdfvdw2'console.log(str.match(reg));//  n{1,}===n+   ,   n{0,} ===n*

ns 匹配任何结尾为n的字符串 (无贪婪匹配的选择)

 var reg =/\w53/g;var str = '1236532453'console.log(str.match(reg));

不加量词时的匹配就是按照单个匹配来的

   var reg =/\w/g;var str = '231cdsf';console.log(str.match(reg));

9.正向预查/ 正向断言
?=n 匹配任何其后紧接指定字符串n的字符串 ?=n nb不会被匹配,只作为辅助判断

  var str = 'aaaabbbb';var reg = /a(?=b)/g; console.log(str.match(reg))

;

?!n 匹配任何其后没有紧接指定字符串n的字符串,后面不跟着n
var str = 'abaaaaaa';
var reg = /a(?!b)/g;
// console.log(str.match(reg));
console.log(reg.exec(str));
console.log(reg.exec(str));

10. 贪婪匹配,编程非贪婪匹配(能少就不多),在量词后面加个?,可以打破规则

var str = 'aaaaaa1'var reg = /\w??/g;
//  console.log(reg.exec(str));
console.log(str.match(reg));

正则表达式的语法规则及使用相关推荐

  1. php 正则 规则,PHP 正则表达式的语法规则

    正则表达式描述了一种字符串匹配模式,通过这个模式在特定的函数中对字符串进行匹配.查找.替换及分割等操作.正则表达式作为一个匹配的模板,是由于原子(普通字符.例如 a-z )有特殊功能的字符(称之为元字 ...

  2. 正则表达式的语法规则

    一.行定位符(^和$) 行定位符就是用来描述字串的边界."^"表示行的开始:"$"表示行的结尾.如: ^tm : 该表达式表示要匹配字串tm的开始位置是行头,如 ...

  3. 正则表达式之语法规则

    "正则表达式"描述在搜索文本正文时要匹配的一个或多个字符串. 该表达式可用作一个将字符模式与要搜索的字符串相匹配的模板. 正则表达式包括普通字符(例如,a 到 z 之间的字母)和特 ...

  4. (常用API)正则表达式语法规则

    正则表达式的匹配规则 参照帮助文档,在Pattern类中有正则表达式的的规则定义,正则表达式中明确区分大小写字母.我们来学习语法规则. 正则表达式的语法规则: 字符:x 含义:代表的是字符x 例如:匹 ...

  5. 炎炎夏日,深夜详谈nginx的配置中location和rewrite的语法规则(从入门到高手的第六步)

    前言 在生产实际中,当用户页面请求后,很多是需要自动跳转到其他特定页面,这个时候往往可以利用nginx配置中location规则或rewrite语法进行设置. Nginx提供的全局变量或自己设置的变量 ...

  6. 10、正则表达式 (笔试题、语法规则、正则对象方法、正则实例属性、支持正则表达式的String对象的方法、贪婪匹配与非贪婪匹配)

    正则表达式 目录 10.1 语法规则 10.1.1 创建方法 1.直接量 2.构造方法RegExp() 10.1.2 三个属性i,g,m 10.1.3 方括号 10.1.4 元字符 10.1.5 量词 ...

  7. PHP正则表达式语法规则

    什么是正则表达式? 正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配.替换.截取匹配的字符.对于用户来说可能以前接触过DOS,如果想匹配当前文件下所有的文件文本,可以输入&q ...

  8. 正则表达式的基本语法规则

    一.正则表达式的概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用 ...

  9. LLVM一些语法规则

    LLVM一些语法规则 LLVM文档 LLVM编译器基础架构支持广泛的项目,从工业强度编译器到专门的JIT应用程序,再到小型研究项目. 同样,文档分为几个针对不同受众的高级别分组: LLVM设计概述 几 ...

最新文章

  1. 第三波精品Android源码袭来!免费下载
  2. 如何自己实现一套EasyNVR这样的无插件流媒体服务器
  3. oracle - emctl start dbconsole
  4. console对象的方法log、info、warn、error的区别及几个实用的方法
  5. 昆虫繁殖(信息学奥赛一本通-T1312)
  6. java运行python脚本_java调用python脚本,中文变成问号
  7. Java中模拟POST上传文件
  8. mysql cmd 实时监控_mysql实时监听sql语句
  9. 岭回归、LASSO与LAR的几何意义
  10. luogu P1307 数字反转
  11. GIST特征描述符使用
  12. C++ TBB 文档手册地址
  13. mysql groupby 优化
  14. [算法]详解关键路径算法
  15. 问题解决:你需要trustedinstaller提供的权限才能删除
  16. AUTOCAD——合并图层
  17. 定性数据分析中高维列联表分析流程(附R代码)
  18. MySQL按日期依次统计
  19. 机甲大师机器人控制(一):概念与流程
  20. 『YQOI2019』失昼城的守星使 题解

热门文章

  1. Ubuntu下U盘变成只读解决方法
  2. python数组冒号取值(清晰图解)
  3. C语言小游戏————贪吃蛇.c
  4. win10配置Java环境
  5. PHP输出图像imagegif、imagejpeg与imagepng函数用法
  6. Ball in Berland
  7. 转“软件测试职业发展方向”
  8. diy机器人图片 手绘纸箱_环保手工制作大全:手绘纸箱机器人
  9. 郁闷的sendto失败
  10. error C2059: 语法错误:“常量”解决方案