一、正则表达式基础储备
1.1 量词
{m,n} 表示匹配前面的字符m-n次
?等价与{0,1}
+等价于{1,}
*等价于{0,}
默认匹配为贪婪匹配,即尽可能的多匹配,在这些量词后面加上?即可实现惰性匹配(多选分支结构|也是惰性的)
1.2 分组
括号提供分组功能
1.3 标记字符
二、正则表达式常用方法
2.1只是为了判断是否匹配(true或 false)可以使用str.search(regexp)或regexObj.test(str)
str.search(regexp)
如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。
regexObj.test(str)
test() 方法执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。
如果正则表达式设置了全局标志,test() 的执行会改变正则表达式 lastIndex属性。连续的执行test()方法,后续的执行将会从 lastIndex 处开始匹配字符串
2.2当要了解更多匹配信息时,可以使用str.match(regexp)或regexObj.exec(str)
str.match(regexp)
如果如果未使用g标志,则仅返回第一个完整匹配及其相关的捕获组(Array)。
如果使用g标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。
regexobj.exec(str)
如果匹配成功,exec() 方法返回一个数组,更新正则表达式对象的 lastIndex 属性。
当正则表达式使用 "g" 标志时,可以多次执行 exec 方法来查找同一个字符串中
参考:正则表达式