好久没自己写正则了,重新学习~~

1、创建正则表达式与修饰符

a) 创建正则表达式

var  re=new RegExp(“\\w+”)  或 var  re=/\w+/

b)  RegExp的修饰符

i – 用来执行不区分大小写的匹配

var  patt1=/route/i;

g – 用于执行全文的搜索(不是找到第一个就停止,而是找到所有的匹配)

var  patt1=/is/g;

m – 执行多行匹配

结合起来使用:

var patt1=/is/gi;

2、RegExp 对象方法

a)    exec()

搜索字符串中的指定值,返回被指定的值,如果没有发现匹配则返回null

var patt1=/e/;

patt1.exec(‘this is eggle’);   返回e

b)   test()

搜索字符串指定的值,根据结果返回真或假

var patt1=/e/;

patt1.test(‘this is eggle’);   返回true

3、支持正则表达式的String 对象方法

1)    search() 用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,如果没有则返回-1,有就返回所在位置

语法:string.search(searchValue)

例: var str="Mr. Blue has a blue house";
str.search(/blue/i);   结果: 4

2)   match() 用于在字符串中检索指定的值,或找到一个或多个正则表达式的匹配,结果返回一个array,没有匹配结果则返回null

语法: string.match(regexp)

Var  str=”The rain in SPAIN stays mainly in the plain"

Var n=Str.match(/ain/gi) 结果:n= ain,AIN,ain,ain

3)    replace() 用于在字符串中用一些字符串替换另一些字符串,或替换与正则表达式匹配的子串

语法: string.replace(searchVal,newVal)

例: var str="Mr Blue has a blue house and a blue car";

var n=str.replace(/blue/gi, "red"); 结果: Mr red has a red house and a red car

4)   split() 用于把一个字符串分割成字符串数组,结果返回一个数组,被用来分割的不会显示在返回的结果中

语法: string.split(separator,limit)(limit是指数组返回的最大长度)

例: var str='How are out you think ?'
str.split(/o/gi,3);
结果: ["H", "w are ", "ut y"]

4、方括号

用于查找某个范围内的字符

[abc]—查找方括号之间的任何字符串

[^abc] – 查找不在方括号之间的字符

[0-9] –查找任何0-9的数字

(red|blue|green) – 查找任何指定的选项

5、元字符

元字符

描述

.

查找单个字符,除了换行符和行结束符

\w

查找单词字符

\W

查找非单词字符

\d

查找数字

\D

查找非数字字符

\s

查找空白字符

\S

查找非空白字符

\b

匹配单词边界

\B

匹配非单词边界

\0

查找null字符

\n

查找换行符

\f

查找换页符

\r

查找回车符

\t

查找制表符

\v

查找垂直制表符

\xxx

查找以八进制数xxx 规定的字符

\xdd

查找以十六进制数dd规定的字符

\uxxxx

查找以十六进制数 xxxx 规定的 Unicode 字符。

6、量词(被匹配的假定为n, /n/)

量词

描述

n+

匹配任何包含至少一个n 的字符串,例: /n+/ 匹配”mounth”

n*

匹配任何包含0次、或1次、或多次n的字符串,例 /bo*/ 匹配”booooo”,匹配”bird”,但是不匹配”goooo”

n?

匹配任何包含零个或一个n 的字符串,例: /e?le?/ 匹配”angel”

n{x}

匹配包含x 个n的序列字符串,例/a{2}/ 匹配”caaady” 的前’aa’

n{x,}

x是正整数,匹配n出现至少出现x次,例/a{2,}/ 匹配”caaady” 的’aaa’

n{x,y}

x,y为正整数,n至少出现x次,至多出现y次,例/a{2,4}/ 匹配”caaaaa”的”aaaa”

n$

匹配n结尾的字符串

^n

匹配开头为n 的字符串

?=n

匹配任何其后紧接指定字符串n的字符串

?!n

匹配任何其后没有紧接指定字符串n的字符串

转载于:https://www.cnblogs.com/xcdl/p/7427688.html

正则重温(学习笔记)相关推荐

  1. Python 正则式学习笔记

    1.  Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.  re模块的基本函数 2.1使用compile加速 ...

  2. 快速幂基础知识(重温学习笔记)

    快速幂 概念背景 方法 分治法求取 非递归求取 概念背景 概念 快速幂,顾名思义,即是快速算底数的n次幂,其时间复杂度为 O(log₂N). 背景 在没有用快速幂之前,有多种方法去算a的b次方再对c取 ...

  3. python 正则学习笔记

    python 正则学习笔记 官方document #1.0 import re m=re.search('(?<=abc)def','cxabcdefgb')print(m.group(0))# ...

  4. js正则贪婪模式_JavaScript正则表达式迷你书之贪婪模式-学习笔记

    这篇文章主要介绍了JavaScript正则表达式迷你书之贪婪模式-学习笔记,需要的朋友可以参考下 贪婪模式: 在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如: ...

  5. 正则至少一个数字_好程序员web前端培训分享JavaScript学习笔记之正则

    好程序员web前端培训分享JavaScript学习笔记之正则,正则表达式,又名 "规则表达式" 由我们自己来书写 "规则",专门用来检测 字符串 是否符合 &q ...

  6. 正则至少一个数字_JavaScript学习笔记(十七)-- 正则

    正则 正则表达式,又名 "规则表达式" 由我们自己来书写 "规则",专门用来检测 字符串 是否符合 "规则" 使用的 我们使用一些特殊的字符 ...

  7. 编译原理学习笔记 3.3 正则文法的状态图

    前言 参考东南大学廖力老师的编译原理教程和课上PPT内容. 该学习笔记目前仅打算个人使用. 后续会进一步整理,包括添加笔记内容,标明参考资料. 更新中... 跳过目录 目录 状态图的画法(根据文法画出 ...

  8. JavaScript学习笔记03-数组-Data对象-Math对象-包装类-字符串-正则

    目录 一.数组 索引 数组的特点 1.1.数组的创建 1.1.1.使用new关键字(构造函数) 1.1.2.使用字面量形式 1.1.3.创建数组的注意事项 1.2.数组的基本使用 1.2.1.存操作( ...

  9. 强化学习笔记:熵正则

    0 策略过于确定的优劣 策略学习的目的是学出一个策略网络 用于控制智能体agent. 比如基于某一个状态s,策略网络的输出为: 那么基本上agent进行的动作就是向右了 这样过于确定性的决策有好有坏: ...

最新文章

  1. Python爬取近十万条程序员招聘数据,告诉你哪类人才和技能最受热捧! | 原力计划...
  2. [flite源码分析一]常用数据结构cst_val
  3. python直方图hist用法参数详解
  4. Apache开源项目
  5. 我擦!迅雷的代码结构竟然被扒了精光~
  6. python堆排序求topn_Java堆排序,取得前TopN个数
  7. linux shell之xargs 、tr、sha1sum、head、tail一般使用
  8. 权限管理系统_在Gitee狂揽11K Star!这个SpringCloud的权限管理系统你必须知道
  9. 子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承
  10. JavaScript 中的日期和时间
  11. selenium 配合多线程_Selenium Webdriver 远程测试和多线程并发测试
  12. 学堂在线计算机通信网络,第二章 数据通信的基础知识 计算机网络笔记 学堂在线 2.4差错控制...
  13. Oracle 12c新特性--ASMFD(ASM Filter Driver)特性
  14. 反转链表——Java递归求解
  15. 量化投资学习——多因子权重组合优化问题
  16. 没有投屏标志怎么投屏_没有【TV】小图标,手机怎么投屏电视
  17. 涵盖多场景区块链与政务结合 应用前景广阔
  18. 你知道的企业文化理念有哪些?
  19. HTML与CSS实现网页的超链接及美化
  20. C语言整数转字符串-递归算法

热门文章

  1. 20165212第七周学习总结
  2. Asp.Net.Core 系列-中间件和依赖注入进阶篇
  3. iOS数据存储简要笔记
  4. 热烈欢迎乔丹入驻博客园
  5. 假如我是陈一舟--我的大社交生态系统战略
  6. HTTPS访问站点,出现证书问题解决
  7. IBM WebSphere Application Server 诊断和调优
  8. 图解SSL/TLS协议
  9. 计算机软件出版,[计算机软件及应用]出版信息管理系统.doc
  10. Java基础-数据类型int,short,char,long,float,double,boolean,byte