网易微专业课程笔记-正则表达式
正则表达式有两种定义方法:
/pattern/attrs
new RegExp(pattern,attrs)
判断是否匹配正则表达式:
regexObj.text(str) //返回布尔值
匹配一个位置
^ : 匹配起始位置 /\^http:/
$ : 匹配结尾位置 /.jpg$/
\b : 匹配单词边界
字符类匹配
匹配一类字符中的一个
[abc] : a或b或c
[0-9] : 匹配0到9的数字
[^ 0-9] : 非数字 (^ 在字符类匹配中表示非)
[a-z] : 匹配一个字母
. : 匹配任意字符
元字符(具有特殊意义的字符)
\d : [0-9] 表示任意数字
\s : 空白字符
\w : [A-Za-z0-9_] 任意一个字母或数字或下划线
\S : 匹配所有非空字符
\D : 匹配所有非数字字符
\W : 匹配所有的字母、数字、下划线以外的字符
\B : 匹配非单词边界
量词
{m,n} : 表达式重复m到n次
- : {0,} 表达式不出现或出现任意次
? : {0,1} 匹配表达式0次或者1次
- : {1,} 至少出现一次
转义字符
\ : 进行转义
\r,\n : 表示回车或者换行符
\t : 制表符
多选分支
| : 左右两边表达式之间 “或” 关系,匹配左边或者右边
捕获
保存匹配到的字符串,日后使用(调用:\$1,\$2 …)
( ) : 1. 在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰;2. 取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
(?:) : 不捕获
str.match(regexp) : 获取匹配的字符串
str.replace(regexp) : 匹配替换
str.replace(/(\d+)/g,’$1.00’) //匹配所有数字,后面加.00