/[\s\d]/
任意空白符和数字javascript
/\d{2,3}/
匹配2-3个数字
/\w{3}\d?/
匹配三个单词和一个可选的数字
/\s+java\s+/
匹配先后带至少一个空格的java
/[^(]*/
匹配任意个非(字符
默认为贪婪匹配,当在重复字符后面加上?时候为非贪婪匹配html
用于分割供选择的字符串
/ab|cd|ef/
匹配 'ab' 或者 'cd' 或者 'ef'
/\d{3}|[a-z]{4}/
匹配三位数字或者四个小写字母java
将单独的项组合成子表达式,以即可以像处理一个独立的单元那样用'|', '+', '*', '?'进行处理,一样能够取得与括号中正常匹配的内容,在正则表达式中也能够经过\后面加上数字的形式重复引用,注意这里的数字是对应的子表达式左括号的位置(理解为对表达式进行分组,每组对应有下标,下标的值为当前组左括号在表达式中的位置,使用\1这样的语法表示的是其内容和前面所匹配的内容彻底相同,并非使用相同的规则匹配)
/java(script)?/
匹配'java'或者'javascript'
/(ab|cd)+|ef/
匹配ef或者ab cd的重复
/(['"])[^'"]\1/
匹配单引号或双引号括起来的内容正则表达式
返回第一个与之匹配的字符串的起始位置,若没匹配到就返回-1,也能够直接传入字符串匹配
"JavaScript".search(/java/i)
返回0数组
执行检索并替换,第一个参数是正则或者字符串,第二个参数为要替换成的字符串
'Javascript'.replace(/script/,'Script')
若是在被替换字符串中出现了'$'加数字,那么replace将用与指定的子表达式相匹配的文原本替换这两个字符串
text.replace(/"([^"]*)"/g,'“$1”')
降""替换成“”bash
惟一的参数是一个正则表达式
若是正则表达式是全局匹配则返回全部匹配结果组成的数组
若是不是,则返回的值第一个值是匹配的字符串,后面则返回分组匹配的内容学习
var url = /(\w+):\/\/([\w.]+)\/(\S*)/
var text = "welcome to http://www.test.com/index.html"
var res = text.match(url);
if (res !== null) {
console.log(res[0]) //http://www.test.com/index.html
console.log(res[1]) //http
console.log(res[2]) //www.test.com
console.log(res[3]) //index.html
}
复制代码
降字符串按规则拆分红数组,能够是字符串和正则表达式url
"1,2,3,4,5,6".split(',') //[1,2,3,4,5,6]
"1, 2 ,3, 4,5 ,6".split(/\s*,\s*/) // [1,2,3,4,5,6]
复制代码
使用方法
var zipcode = new RegExp('\\d{5}','g')
spa
和String.match类似,若是没有匹配上返回null,反则返回一个数组,返回规则与String.match相同code
var url = new RegExp('(\\w+):\/\/([\\w.]+)\/(\\S*)')
var text = "welcome to http://www.test.com/index.html"
var res = url.exec(text);
if (res !== null) {
console.log(res[0]) //http://www.test.com/index.html
console.log(res[1]) //http
console.log(res[2]) //www.test.com
console.log(res[3]) //index.html
}
复制代码
和match不一样的是不管是否具备全局修饰符g,exec都只会返回一个匹配结果和本次匹配的完整信息,并将lastIndex指向紧接着匹配子串的字符位置,当第二次调用时,它会从lastIndex开始匹配,若是没有发现匹配会将lastIndex设置为0
对字符串进行检测,若是包含匹配结果则返回true
var pattern = new RegExp('java','i');
console.log(pattern.test('java111')) //true
console.log(pattern.test('ja1va111')) // false
复制代码
后续整理一部分经常使用的正则表达式,学习中进步~~~