之前写了一篇正则表达式,后来再学习的过程中又遇到了一些其他的正则表达式,在这里记录一下,以后忘记了可以常来看看。
定义正则表达式有两种方法:
1. var regExp = /pattern/attributes;
2. var regExp = new RegExp(pattern,attributes);
attributes的取值:
i : 不区分大小写匹配
m : 执行多行匹配(想了半天也不知道什么意思)
g : 执行全局匹配(匹配到第一个后不会停止,匹配所有符合的,一般返回的是一个数组)
比如 var regExp = /\w+\s/g;
var regExp = new RegExp(/\w+\s/,g);
\s : 表示匹配空白符,比如空格,tab等。
\S : 表示匹配非空白符,大写的就是匹配非,小写的就是匹配。比如\d,\w,\s。
[abc] : 匹配给定集合中的字符
[^abc] : 匹配非给定集合中的字符
不在方括号里面^表示以什么开头,比如/^a/ : 表示匹配以a开头的字符。
正则表达式的常用方法:
test,match,replace,split,search,exec
下面用一个例子来说明这些方法
let regExp = /\w+\s/g;
let string = "hello hi ";
console.log(regExp.test(string)); true
console.log(regExp.exec(string)); ["hi "]
console.log(string.match(regExp)); ["hello ","hi "]
console.log(string.search(regExp)); 0
console.log(string.replace(regExp,"aa")); "aaaa"
console.log(string.split(regExp)); ["","",""]
还可以看一下我的第一篇正则表达式:登录验证正则表达式(一)