正则表达式
正则表达式
属于字符串的相关操作
// 转义字符
\. 字符串中的点
\t 制表符,键盘中的tab建
\n 换行
\r 回车
正则表达式在js中是一种对象
创建正则表达式对象
let reg = new RegExp('a')
// 或者
let reg = /a/
-
test()
//reg是一种正则表达式对象 let reg = /\./ // 对象调函数 reg.test('ajogsaoig.ajiog') //reg是一种规则 字符串中是否包含点
返回值:匹配到则返回true 否则返回false
-
String.prototype.match()
let reg = /\./ let str = 'ajigo.jgia.aijg' let arr = str.match(reg)
返回值:
-
如果使用 g 标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。
-
如果未使用 g 标志,则仅返回第一个完整匹配及其相关的捕获组(
Array
)。 在这种情况下,返回的项目将具有如下所述的其他属性。附加属性
groups
: 一个命名捕获组对象,其键是捕获组名称,值是捕获组,如果未定义命名捕获组,则为 undefined。index
: 匹配的结果的开始位置input
: 搜索的字符串。
-
-
exec():返回一个符合匹配的字符串
var a = 'ahigubkgjoa' reg = /[a-b]+/g reg.exec(a) // [ 'b', index: 5, input: 'ahigubkgjoa', groups: undefined ]
注意:同一个reg调用的时候时匹配到下一个
-
String.prototype.replace(reg,'4'):把匹配的reg替换成4
-
String.prototype.split():以指定字符来分割,返回一个分割后的数组
-
String.prototype.search():搜索匹配,如果匹配到则返回字符串首次匹配到的下标,否则返回-1
正则修饰符
-
i:执行对大小写不敏感的匹配
/a/i
-
g:执行全局匹配
/g/
-
m:执行多行匹配
/m/
-
^:
^a
以a开头 -
$:abc$表示以abc结尾
-
[] :
[a-z]表示a到z的字母 [0-9]表示0-9的数字 (x|y)表示查找任何以x或是y的
A-z包括了区分大小写的所有字母
注意:以为[]表示一位,中括号里面的内容是这一位取值的范围
- ^:放在[]里面表示"非"的意思
// 去掉字符串前后空格
var str = " hello "
var reg = /(^\s+)|(\s$+)/g
// --------------------
var re = str.trim()
// ---------------------------
// 或将字符串转数组,在遍历删除空格
// 判断子串重复次数或者是否存在
var str = 'helloab'
var re = str.indexOf('lo') // 是否返回 -1来判断
// -------正则 reg写正则表达式-------
var reg = /1/g
var re = str.match(reg) // 返回空或是数组
// 重复次数
var str = 'helloab'
var count = 0
while(str.indexOf('l',temp)!= -1) {
count++
temp = str.indexOf('l',temp+1)
}
// -----正则-----
var reg = /1/g
var re = str.match(reg)
console.log(re.length)
量词
-
+:包含至少一个
-
*:包含零个或多个
-
?:零个或一个
-
{}:自定义包含几个
reg = /a{3}/ // 包含3个a reg = /a{3,9}/ // 包含3到9个a reg = /a{3,}/ // 至少包含3个a
-
$:自定义以什么结尾
-
^:自定义以什么开头
eg
// 以1开头的 11位数字
reg = /^1[0-9]{10}/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南