JavaScript学习Day17笔记

Day17笔记

一、正则表达式

定义:

  • 正则表达式全称“Regular Expression”,在代码中常简写为regex、regexp或RE。
  • 正则表达式就是用某种模式去匹配(match)、查找(search)、替换(replace)、判断一类字符串的公式。

语法:

// 显式定义。
var reg = new RegExp("正则表达式")

// 隐式定义。
var reg = /正则表达式/

// 举例,这两种写法效果一样。
var reg = new RegExp("\d+")
=>
var reg = /\d+/

二、正则表达式常用方法

test

// 正则去匹配字符串,如果匹配成功就返回true,匹配失败返回false。
var str = '字符串'
var reg = /正则表达式/
reg.test(str)  =>  true/false

search

// 字符串去匹配正则,如果匹配成功,就返回匹配成功的位置(index),如果匹配失败就返回-1。
var str = '字符串'
var reg = /正则表达式/
str.search(reg)  =>  index/-1

match

// 字符串去匹配正则,如果匹配成功,就返回匹配成功的数组,如果匹配失败就返回null。
var str = '字符串'
var reg = /正则表达式/
str.match(reg)  =>  array/null

replace

// 字符串去匹配正则,匹配成功的字符会被新的字符串替换。
var str = '字符串'
var reg = /正则表达式/
var newStr = str.replace(reg,'replaceStr')  =>  newStr(替换后的新数组)

三、正则表达式常用元字符

元字符说明
\d匹配数字,相当于[0-9]
\D匹配非数字
\w匹配字母或数字或汉字或下划线
\W匹配非(字母、数字、汉字、下划线)的字符
\s匹配任意的空白符,如空格、换行符、制表符等
\S匹配任意不是空白符的字符
.匹配除了换行符意外的任意字符
[…]匹配括号内的所有字符
[^…]匹配除了括号内的所有字符

连接符

// 定义字符范围
[0123456789]  =>  [0-9]
[a-z]
[A-Z]
[a-zA-Z0-9]

限定符-量词

限定符说明
+重复1次或更多次
*重复0次或更多次
?重复0次或1次
{n}重复n次
{n,}重复n次或更多次(最少n次)
{n,m}重复n到m次

定位符-边界

定位符说明
^限定开始位置的字符
$限定结尾位置的字符
\b限定单词(字)边界的字符
\B限定非单词(字)边界的字符

注:当^字符和$字符同时使用时,表示精确匹配。

修饰符

修饰符说明
g全文搜索,如果不添加,正则匹配到第一个符合的字符将会停止
i忽略大小写
m多行搜索

注:使用位置在正则表达式后 => /正则表达式/g。

特殊转义符

特殊转义符说明
\f匹配换页符
\n匹配换行符
\r匹配回车符
\t匹配制表符
\v匹配垂直制表符
\匹配\
"匹配""
匹配’’
.匹配.

Unix系统里,每行结尾只有"<换行>",即"\n"

Windows系统里,每行结尾时"<换行><回车>",即"\n\r"

Mac系统里,每行结尾时"<回车>",即"\n"

选择符

// 选择符,“或”运算
|

优先级顺序(从高到低)

运算符或表达式说明
\转义符
()、(?😃、(?=)、[]圆括号或方括号
*、+、?、{n}、{n,}、{n,m}限定符
^、$、\b、\B位置和顺序
|选择符
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值