JS正则表达式

1.字面量

i 忽略大小写
g 全局匹配
m 多行匹配
var variable_name = /regular experssion/options;
eg:
var myReg = /love/;
var reObj = /san jose/ig;

2.RegExp() 构造函数

格式:
var variable_name = new RegExp(“regular expression”,“options”);
测试正则表达式
regExp()对象包含两个方法test()exec() 功能相似 用于测试字符串的匹配的匹配
exec 在字符串中执行匹配搜索 返回结果数组
test 在字符串中测试模式匹配 返回true 或者false

RegExp对象的属性

input 当前被匹配的字符串
lastmatch 最后一个匹配字符串
lastParen 最后一对圆括号内的匹配子串
leftContext 最后一次匹配前的子串
RegExp. ∗ 标 示 是 否 多 行 匹 配 的 布 尔 值 R e g E x p . * 标示是否多行匹配的布尔值 RegExp. RegExp.& 最后一次匹配的字符
RegExp. 输 入 的 执 行 匹 配 的 字 符 串 R e g E x p . _ 输入的执行匹配的字符串 RegExp. RegExp.’ 代表最后一次匹配模式前的子串
RegExp. ‘ 代 表 最 后 一 次 匹 配 模 式 后 的 子 串 R e g E x p . ‘ 代表最后一次匹配模式后的子串 RegExp. RegExp.+ 代表最后一一对括号内的模式的子串
RegExp.$1,$2,$3 捕获匹配到的字串
rightContext 最近一次匹配的字串

字符串得正则表达式的使用方法

String.match(regExp) 返回regExp 中的子串或null
String.replace(regExp,replacement) 用replacement替换regExp
String.search(regExp) 返回字符串中regExp的开始位置
String.split(regex) 从字符串中删除所有包含regex的子串

正则表达式

/[\t:,]/ 分隔符是制表符 冒号或逗号
[0-9] 表示0-9的数字
\d也表示数字 digit
/^a…c/ 表示以a开头 .表示任意字符 c结尾 形如abbbc a232c adecc等

元字符

字符类:单个字符和数字
.             匹配除换行符外的任意字符
[a-z0-9]      匹配括号中的字符集中的任意字符
[^a-z0-9]     匹配任意不在括号中的字符集中字符  
\d   匹配数字
\D  匹配非数字 同[^0-9]
\w 匹配字母
\W 匹配非字母

字符类:空白字符

\0 匹配null字符
\b 匹配空格字符
\f 匹配进纸字符
\n 匹配换行符
\r 匹配回车字符
\s 匹配空白字符 空格 制表符或换行符
\S 匹配非空白字符
\t 匹配制表符
字符类:错字符
^ 行首匹配
$ 行尾匹配
\A 只匹配字符串开始的地方
\b 匹配单词边界 词在[] 内时无效
\B 匹配非单词边界
\G 匹配当前搜索的开始位置
\Z 匹配字符串结束处或行尾
\z 只匹配字符串结束处

字符类:重复字符

x? 匹配0个或1个x
x* 匹配0个或任意多个x
x+ 匹配至少一个x
(xyz)+ 匹配至少一个xyz模式
x{m,n} 匹配最少m个 最多n个x

字符类:替代字符

was|were|will 匹配was或者were或will

字符类:记录字符

(string) 用于反向引用
\1或$1 匹配第一对括号中的内容
\2或$2 匹配第二对括号中的内容
\3或$3 匹配第三对括号中的内容

分组或聚合

/(ma)/ 或/(John|Joe)Brown/ 匹配JohnBrown JoeBrown
/(ma)+/ 匹配形如ma mama mamama

记录与捕获

将正则表达式模式括在括号里,产生的子模式也可被捕获 子模式存储在特殊编号的类属性中 从$1开始后面是$2

var aa = "AB EF";
var bb = /(\w+)\s(\w+)/;
aa.replace(bb,"$2,$1"); //"EF,AB"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小刘同学要加油呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值