一.什么是正则表达式
正则表达式用来定义一些字符串的规则,计算机可以根据正则表达式将字符串中符合规则的内容提取出来
二.创建正则表达式的方式
使用构造函数创建正则表达式
new RegExp("正则表达式","匹配模式"),用构造函数创建的正则更加灵活,因为该参数为一个字符串因此可以传入一个变量
使用字面量创建正则表达式
var reg = /正则表达式/匹配模式,用字面量创建的正则更简单
三.正则表达式规则
匹配模式 1. i 忽略大小写, 2. g 全局匹配模式
使用 | 表示或者的意思
[]里的内容也是或的关系,[ab]a或b [a-z]任意小写字母,[A-Z]任意大写字母,[A-z]任意字母,[0-9]任意数字
[^ab ]表示除了a和b [a-c]表示除了a和b和c
量词, 只对前面一个内容起作用,可以用(),表示一个内容/a{n}/,连续出现n次a
{m,n}出现m-n次; {m,}m次以上;+,表示至少一个;*表示0或多个;?相当于0个或一个
/^a/表示以a开头;/a$/以a结尾;/^a$/只能有一个a
.表示任意字符,可以用.进行转义,\\表示一个\,在构造函数中需要用两个\\来表示一个\
\w :表示任意字母,数字和_ ;\W : 表示除了表示任意字母,数字和_ ; \d表示任意数字;/D表示除了任意数字,\s: 表示空格; \S表示除了空格;\b单词边界; \B除了单词边界
除去开头和结尾的空格: /^\S*|\S*$/g
四.正则表达式方法
test()用来检查一个字符串是否符合正则表达式的规则,语法:语法:reg.test(str)
exec()用来捕获符合正则表达式的字符串,语法:reg.exec(str),该方法会返回一个数组,
数组包含:[符合规则的字符串,符合字符串的索引值,原始字符串,...]