正则表达式:Regular Expression。使用单个字符串来描述,匹配一系列符合某个句法规则的字符串。即按照某种规则去匹配符合条件的字符串。正则表达式就是规则。

\b 单词边界

regexp对象:

加g表示全局,匹配所有

不加只匹配一次

加i表示忽略大小写,默认是不忽略

m代表多行搜索。

正则表达式由两种基本字符类型组成

  1. 原义文本字符
  2. 元字符:在正则表达式中有特殊含义的非字母字符

\t 水平制表符

\v 垂直制表符

\n 换行符

\r 回车符

\0 空字符

\f 换页符

\cX 与X对应的控制字符(Ctrl+X)

使用元字符[]来构建一个简单的类,符合某些特性的对象,是泛指。如[abc]把字符a,b,c归为一类。

^在中括号中代表反义。

预定义类

. [^\r\n]

\d [0-9]

\D [^0-9]

\s [\t\n\x0B\f\r]

\S [^\t\n\x0B\f\r]

\w [a-zA-Z_0-9]

\W [^a-zA-Z_0-9]

边界匹配字符

^ 以xxx开始

$以xxx结束

\b 单词边界

\B 非单词边界

量词:

? 出现0次或一次(最多一次

  • 出现一次或多次(至少一次
  • 出现0次或多次(任意次

    {n} 出现n次

    {n,m} 出现n到m次

    {n,} 至少出现n次

非贪婪模式,量词加?

\d{3,6}?

用括号可以分组,如可以用分组加量词

用|可以达到或的效果

反向引用

用$捕获分组

分组内加上?;可以忽略分组

正向前瞻 exp(?=assert)

负向前瞻 exp(?!assert)

断言部分不包含在规则里,如替换时断言部分不替换

正则对象属性

global: 是否全文搜索

ingore case: 是否大小写敏感

multiline: 多行搜索

默认皆为false,只读,不能设值

lastIndex: 当前表达式匹配内容的最后一个字符的下一个位置,即下一次搜索的开始位置

source: 正则表达式的文本字符串

test() ,会造成一些坑,跟lastIndex有关

exec() 没匹配返回null,否则返回结果数组

javascript正则表达式的一些笔记的更多相关文章

  1. JavaScript正则表达式学习笔记(二) - 打怪升级

    本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...

  2. 慕课笔记-JavaScript正则表达式

    目录 慕课笔记-JavaScript正则表达式笔记 概述 RegExp对象 修饰符 元字符 字符类 范围类 预定义类 预定义字符 边界 量词 贪婪模式 分组 或(使用竖线表示) 反向引用 忽略分组 前 ...

  3. javascript正则表达式 - 学习笔记

    JavaScript 正则表达式 学习笔记 标签(空格分隔): 基础 JavaScript 正则表达式是用于匹配字符串中字符组合的模式.在javascript中,正则表达式也是对象.这些模式被用于Re ...

  4. web前端学习(四)JavaScript学习笔记部分(10)-- JavaScript正则表达式

    1.JavaScript正则表达式课程概要 方便查找字符串.数字.特殊字串等等 2.正则表达式的介绍 RegExp是正则表达式的缩写 当检索某个文本时,可以使用一种模式来描述要检索的内容.RegExp ...

  5. Javascript 正则表达式简述

    本文地址:http://www.cnblogs.com/blackmanba/p/regular-expressions-introduce.html 或者 http://forkme.info/re ...

  6. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  7. <JavaScript语言精粹>--<读书笔记三>之replace()与正则

    今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...

  8. 【JS】javascript 正则表达式 大全 总结

    javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...

  9. 理清JavaScript正则表达式--上篇

    在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...

随机推荐

  1. js_8_dom标签

    创:9_3_2017  星期4 修: 对于在a标签中,如何阻止跳转? 定义一个事件,事件顺序执行后才执行跳转,如果事件函数返回false,则后面事件就不触发 事件1 = "return 函数 ...

  2. 1 let和const

    let命令 1)let声明的变量只在let命令所在的代码块内有效,如:   { let a = ; ;} a // ReferenceError: a is not defined. b 对于for循 ...

  3. Oracle Sqlload 导入数据

    sqlload导入数据具有快,简单,无需校验等方便,多说无益 1 首先,oracle数据库要有这么个表,用来接收数据.我这里这个uuid是序列生成的,当然也可以sqlload导入时候分配uuid -- ...

  4. css img换行之后有空隙

    这样的2个图片换行之后有空隙<img src="img/qiche.jpg" /> <br /> <img src="img/qiche.j ...

  5. JDBC (一)

    1 JDBC 简介 sun公司为了简化.统一对数据库的操作,定义了一套java操作数据库的规范,称之为JDBC. 数据库厂商的驱动就是对JDBC的实现. 没有JDBC之前  vs 有JDBC之后 JD ...

  6. python监控微信报警

    微信接口调用代码: #coding=utf8 import itchat from flask import Flask, request itchat.auto_login(enableCmdQR= ...

  7. typedef如何显示变量类型名

    dsa typedef unsigned long int NUM; typedef unsigned short int Data; //为已经存在的类型起一个别名 //1.定义一个变量 unsig ...

  8. Python之数据结构基础

    一.数据结构基础     a.什么是数据结构          b.数据结构的分类         c.列表           import random from timewrap import ...

  9. 网易云免费OSS服务用做Markdown图床或博客图片外链

    我使用据说是Windows下最好用的Markdown编辑器“MarkdownPad2”(个人感觉还是Visual Code+Markdown插件666)写Markdown,在贴图方面遇到一个问题,于是 ...

  10. ABP官方文档翻译 6.6 Javascript API

    JavaScript API AJAX 通知 消息 UI Block和Busy 事件总线 日志 其他实用功能 ABP提供了一套对象和函数,用来简化.标准化javascript的开发. 这里是ABP提供 ...