今天我们来讲一下正则表达式基础内容
首先我们从熟悉的字符串方法开始
- split() 分割字符串 可以直接写匹配内容,也可以写正则规则去匹配,结果为数组,所以字符串和数组的互转我们可以用这个方法来实现(数组转字符串用join)。
举例:
var str = "a b c";
str.split(' ') //输出['a', 'b', 'c']
str.split(/\s+/) // 输出['a' ,'b', 'c']
s后面的 ‘+’ 号表示有一个或多个
- search() 用来寻找字符或字符串在父字符串中的位置
举例:
var str = "abcde";
str.indexOf('cd') // 2
str.search("cd") // 2
str.search(/cd/) // 2
- match() 在父字符串中寻找匹配的字符串,它是一个字符串方法,参数配置字符串或正则
举例:
var str = "abbccddbbb";
str.match(/b+/g) // [bb, bbb] g表示全局匹配 如果不加只是输出第一次匹配的内容
- replace() 用来替换父字符串中匹配的字符串
举例:
var str = 'www.along2018.cn';
str.replace(/along2018\.cn/, 'along2017.com') // www.along2017.com 第一个参数为匹配内容 第二个参数为替换内容
str.replace(/along2018\.cn/, function(){
return 'baidu.com'
}) // www.baodu.com
以上的方法是字符串方法,调用方式就是str.方法名(参数) //参数可以为字符串或者正则
下面我们来讲正则对象的方法
- exec()
举例:
先定义正则表达式,我们用字面量的方式定义
var reg = /abc/; // 匹配规则 精确匹配 必须有abc三个字符,且顺序保持一致
var str = "aaabcbbcccabc";
var arr = reg.exec(str) // ['abc', index=2, input='aaabcbbcccabc'] 返回的是数组 会忽略全局界定符 只会输出首次匹配内容及/abc/g 这个参数g会被忽略
- text() 判断满不满足正则表达式 返回值为 true / false
举例:
var reg = /abc/;
reg.test("aabbccabcddacb") // true
var reg2 = /\s+/'
reg2.test("a bc"); // true
reg2.test("abc"); // false
正则的基本使用方法就是这些,我们会在以后的开发中结合实际来使用这些,会让开发的效率大大提升。
下一节我们讲展开讲解正则对象的术语和操作符