JS学习笔记(8. 正则表达式)

简介:正则表达式的作用

1. 表单验证

2. 敏感词替换

1. 定义

const ex = /正则表达式/;    js的正则表达式定义在两个/之间

2. 匹配规则

2.1 单字符匹配

定义在[ ]之间,

/[a-z]/  代表匹配1个a到z的小写字母

/[A-Z]/  代表匹配1个A-Z的大写字母

/[0-9]/   代表匹配一个数字

.  点可以匹配一个除了换行以外的任何字符

/[0-9a-zA-Z_]/  代表0到9,a到z, A到Z和下划线中任意一个字符,-代表范围,相邻值是或的关系。

2.2 多字符匹配

/abc/ 代表配置abc这个字符串

/abc | def/ 用|分割表示或者,匹配一个abc活def字符

3. 量词

* 表示0次以上, + 表示1次以上, ? 表示0次或1次。

{n}表示固定n次,{n,}表示n次及以上,{n,m}表示n到m次

例子:/[a-z]*/  表0次以上a到z字符, /abc+/表示 ab和1次以上的c, /[A]?/ 表示0次或1次A

/[a-z]{2}/ 表示2个连续的小写字母

4. 边界符

/a/  可匹配开头的a和文本中间的a,和文本结束的a

/^a/ 只能匹配开头的a

/a$/ 只能匹配结尾是a

[ ]中的^代表取反。例如 /[^0-9]/代表匹配一个0到9以外的字符

5. 预定义

\d 代表[0-9], \D 代表[^0-9]

\w 代表[a-zA-Z0-9_] , \W 代表[^a-zA-Z0-9_]

\s 代表取换行空格[\t\r\n\v\f] , \S 代表取反

6. 分组

想指定一串规则的次数可以先用小括号分组再指定次数

例如 : /(a[0-9])+/ 代表a接一个数字,出现一次以上

7. 查找替换函数

7.1 查找

/正则/.test(字符串)

例如:/[abc]/.test("123a5") 表示判断123a5中是否包含一个a或b或c,包含返回true,否则返回false

7.2 替换

"abc1d".replace(/[0-9]/, "z")  表示将abc1d字符串中的第一个0-9的数字替换成z

8. 修饰符

i 不区分大小写, 例如 /[ab]/i.test(字符串) 不区分大小写判断字符串中是否包含aAbB的一个。

g 全局,例如 "ab1c2d3".replace(/[0-9]/g, "z") 表示将字符串ab1c2d3中的数字全部替换成z。

你可能感兴趣的:(正则表达式,javascript,学习)