正则表达式是用于匹配字符串中字符组合的模式。
下面是一些基本的正则判断
//匹配字母
const reg1 = /[a-zA-Z]/
//匹配数字
const reg2 = /\d/
//匹配非数字
const reg3 = /\D/
//空格
const reg4 = /\s/
//字母、数字、下划线
const reg5 = /\w/
//特殊字符
const reg6 = /[!@#$%^&*]/
//非字母匹配
const reg7 = /[^a-zA-Z]/
当你需要匹配一个不确定的字符串时,比如寻找一个或多个 "b",或者寻找空格,可以在模式中使用特殊字符。比如,你可以使用 /abc/ 去匹配一个单独的 "a" 后面跟了零个或者多个 "b",同时后面跟着 "c" 的字符串:的意思是前一项出现零次或者多次。在字符串 "cbbabbbbcdebc" 中,这个模式匹配了子字符串 "abbbbc"。
一些常见的正则方法:
test() 检测一个字符串是否与正则表达式匹配,返回布尔值
match() 在字符串中搜索匹配正则表达式的内容,返回数组或者null
search() 在字符串中搜索匹配正则表达式的内容,返回匹配的索引或-1
replace() 将匹配正则表达式的内容替换为指定字符串,并返回替换后的字符串
split() 根据正则表达式将字符串分割成数组
还有一些其他的方法,当需要使用时,查询手册即可。
一些和正则有关的题目:
// 匹配由数字和字母组成的字符串,且长度为5到10个字符之间。
/^[a-zA-Z0-9]{5,10}$/
// 匹配一个有效的邮箱地址。
/^[a-zA-Z0-9]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
// 匹配一个日期,格式为YYYY-MM-DD,例如2023-01-01。
/^\d{4}-\d{2}-\d{2}$/
// 匹配一个手机号码,格式为11位数字,以1开头。
/^1\d{10}/
// 匹配一个由字母组成的字符串,第一个字母必须大写。
/^[A-Z][a-zA-Z]*$/
// 匹配一个包含特殊字符(例如@、#、$)的字符串。
/[!@#$%^&*]/
// 匹配一个URL,以http或https开头,并以.com结尾。
/^(http|https):\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
// 匹配一个HTML标签,例如<div>或<p>。
/^<([a-zA-Z]+\d?)([^<>]+)*(?:>(.*)<\/\1>|\s*\/?>)%/
关于贪婪匹配和惰性匹配:
//贪婪匹配和惰性匹配
const string = 'aaaaaa'
const greedyPattern = /a+/ //贪婪匹配 尽可能多
const lazyPattern = /a+?/ //惰性匹配 只匹配一个
console.log(string.match(greedyPattern))
console.log(string.match(lazyPattern))
标签:const,正则表达式,zA,正则,字符串,匹配,随笔
From: https://www.cnblogs.com/ntbb1113/p/17517069.html