博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js正则表达式学习笔记
阅读量:6329 次
发布时间:2019-06-22

本文共 1450 字,大约阅读时间需要 4 分钟。

正则表达式创建

字面量创建,a = /abc/gim;
构造函数创建,a = new RegExp('abc','gim')
正则表达式中的特殊字符,
[...] 方括号中的任意字符
[^...] 非方括号中的任意字符
s 空白字符
S 非空白字符
d 数字
D 非数字
w 字母和数字,相当于[a-zA-Z0-9]
W 非字母和数字
重复
{m,n} 介于m到n次之间
{m} 恰好等于m次
{m,} 大于等于m次
? 0次或者1次
* 0次或者n次
+ 1次或者n次
贪婪的匹配
重复的一种,贪婪的匹配即普通的书写方式,尽可能多的匹配;非贪婪的匹配就是尽可能少的匹配,在重复的表示符号后面加上?,例如/a?/,字符串为aaaa,将会匹配第一个a。需要注意的是,/a?b/来匹配aaaab得到的匹配结果是aaaab,而不是ab。
选择
选择通过‘|’来实现,用于分隔供选择的字符。匹配的次序是从左到右,如果左边已经匹配了,就不考虑右边的匹配项了。当然,然后是全局匹配的话可以找出所有的匹配项。
分组
小括号功能较多有三种功能,
1.作用一,把单独的项组合成子表达式。将一段字符串组成子表达式,例如/java(script)?/就可以用来匹配Java以及JavaScript。
2.作用二,定义子模式,在调用exec方法的时候,返回值的数组第二项开始就是子模式的匹配结果了。
3.作用三,允许后面引用前面的表达式。例如,1引用的是第一个圆括号对应的表达式,2引用的是第二个圆括号对应的表达式。例如要匹配字符串中的子字符串,子字符串的引号应该相同,同为单引号或者同为双引号。在不借助引用的情况下只能这么写,/["']S["']/。这样做不到同为单引号或者双引号,可以改为/["']1/

指明位置

^x 以x为开始
x$ 以x结束
/bjava/ 匹配Java
/Bjava/ 匹配ajava,不匹配Java,因为B表示单词不在这里断
(?=p) 零宽正向断言,后面必须有p,但是不匹配p;这里说的不匹配p意思是通过match函数的返回数组中不包含p,即这里的p只是作为一个条件。例如 /java(?=:)/,它不匹配JavaScript,匹配JavaScript:。
(?!p) 零宽负向断言,后面必须没有p,同时不匹配p。例如/java(?!:)/,它匹配JavaScript,它不匹配JavaScript:。
修饰符
i 忽略大小写
g 全局多次匹配
m 多行匹配
写法实例:/[abc]/gim可以匹配a、b、c、A、B、C。如果字符串有多个,所有的匹配项都可以匹配出来。
/abc$/g,这个表达式至多能匹配出一个匹配项
/abc$/gm,这个表达式可以匹配出多个匹配项,将每次换行都看作是一次结束

正则表达式的方法

这里说的方法,即包括字符串和正则表达式相关的方法,也包括正则表达式自身的方法
字符串的四个方法,
String.search() 查找第一个匹配项的索引
Sring.replace() 第一个参数是正则表达式,如果正则表达式是全局那么将替换掉所有的匹配项
String.match() 得到所有的放回项数组。如果这时的正则表达式是一个非全局的,那么和正则表达式exec()方法拿到的结果相同。
String.split(),也可以接受一个正则表达式作为参数。

regexp有两个方法,分别是exec和test。exec的返回值是一个数组,test的方式值时一个布尔类型。


  1. '"

转载地址:http://xcwoa.baihongyu.com/

你可能感兴趣的文章
BZOJ2425:[HAOI2010]计数(数位DP)
查看>>
CLR读书笔记--第四章 类型基础
查看>>
CSS3实战开发 表单发光特效实战开发
查看>>
初识Ajax---简单的Ajax应用实例
查看>>
js 去除字符串空白符
查看>>
201521123026《JAVA程序设计》第13周学习总结
查看>>
【SICP练习】82 练习2.54
查看>>
[APUE]标准IO库(下)
查看>>
saltstack自动化运维系列③之saltstack的常用模块使用
查看>>
shell编程系列18--文本处理三剑客之awk动作中的条件及if/while/do while/for循环语句...
查看>>
工控安全资料
查看>>
修改linux最大文件句柄数
查看>>
网络编程---tcp/udp协议
查看>>
jmeter3.2 版本完美实现Load Test报表
查看>>
再看python多线程------threading模块
查看>>
R 从零开始,简单API集合
查看>>
学习react系列(八)—— mixins迁移
查看>>
《工作DNA》摘录三
查看>>
5.7-多源复制搭建
查看>>
HSPA+技术及系统分析
查看>>