企业网站设计需要了解,网站八个,长沙传媒公司排行,网站后台打不开了怎么办定义一个正则表达式
const 变量名 /表达式/ const reg /前端/ 匹配看字符串中有无前端俩字 正则对象上的一些方法
test()
用于查看正则表达式与指定的字符串是否匹配 const reg /前端/ const res reg.test(学前端#xff0c;找黑马) //匹配到返回true,匹配不到返回fa…定义一个正则表达式
const 变量名 /表达式/ const reg /前端/ 匹配看字符串中有无前端俩字 正则对象上的一些方法
test()
用于查看正则表达式与指定的字符串是否匹配 const reg /前端/ const res reg.test(学前端找黑马) //匹配到返回true,匹配不到返回false console.log(res) exec()
查找符合规则的字符串 const reg /前端/ const res reg.exec(学前端找黑马) console.log(res) replace()
用于替换字符串中符合规则的字符 const reg /前端/ const str学前端找黑马 const res str.replace(reg,java) console.log(res) match()
在字符串内检索指定的值或找到一个或多个正则表达式的匹配 const reg /前端/ const str学前端找黑马,前端就业前景好前端工资高 const res str.match(reg) console.log(res) 修饰符
i忽略大小写g全局匹配 const reg /a/i console.log(reg.test(a))//true console.log(reg.test(ABC))//true const reg /前端/g const str学前端找黑马,前端就业前景好前端工资高 const res str.replace(reg,java) console.log(res) const reg /前端/g const str学前端找黑马,前端就业前景好前端工资高 const res str.match(reg) console.log(res) 元字符
边界符
单词边界 \b const reg /cat/g const str The cat scattered his food all over the room console.log(str.replace(reg,dog)) const reg /\bcat\b/ const str The cat scattered his food all over the room console.log(str.replace(regzi,dog)) 字符串边界 ^ $
^以...开头
$以...结尾 const reg /^a/ console.log(reg.test(apple)) //true const reg /c$/ console.log(reg.test(abc)) //true ^ $ 在一块表示必须是精确匹配 const reg /^a$/ 中间写什么就只能匹配什么 console.log(reg.test(a)) //true console.log(reg.test(aaa)) //false console.log(reg.test(abca)) //false 量词
*表示0次或更多次 const reg /^a*$/ console.log(reg.test(a)) //true console.log(reg.test()) //true console.log(reg.test(aaa)) //true 表示1次或更多次 const reg /^a$/ console.log(reg.test(a)) //true console.log(reg.test()) //false console.log(reg.test(aaa)) //true 表示0次或1次 const reg /^a$/ console.log(reg.test(a)) //true console.log(reg.test()) //true console.log(reg.test(aaa)) //false console.log(reg.test(b)) //false {n}只能有n次 const reg /^a{3}$/ console.log(reg.test(a)) //false console.log(reg.test()) //false console.log(reg.test(aaa)) //true {n,}表示大于等于n次 const reg /^a{2,}$/ console.log(reg.test(a)) //false console.log(reg.test()) //false console.log(reg.test(aaa)) //true console.log(reg.test(aa)) //true {n,m}n-m次 const reg /^a{2,4}$/ console.log(reg.test(a)) //false console.log(reg.test()) //false console.log(reg.test(aaa)) //true console.log(reg.test(aa)) //true 字符类
[]匹配字符集合 /[abc]/匹配abc中的任意一个 连字符- /[a-z]/匹配a到z的26个字母中的任意一个 /[a-zA-Z]/匹配26个英文字母不区分大小写 ^表示取反需要写在[]里面 /[^abc]/匹配abc之外的任意一个 const reg /[^0-9]/ console.log(reg.test(aaa111)) //true 能匹配到0-9之外的任意一个字符 .匹配除换行符之外的任意一个字符 const reg /./ console.log(reg.test());//true console.log(reg.test(\n));//false console.log(reg.test(\r));//false 预定义
\d匹配0-9之间任意一个数字字符相当于[0-9] /[0-9]/ /\d/ \D匹配任意一个非0-9数字的字符相当于[^0-9]
\s匹配任意一个空白字符包括 空格、tab、换行符等相当于[\t\r\n\v\f]
\S匹配任意一个非空白字符相当于[^\t\r\n\v\f]
\w匹配任意的字母、数字、下划线相当于[a-zA-Z0-9_]
\W匹配除字母数字和下划线以外的字符相当于[^a-zA-Z0-9_]
分组和分支结构
分组
/ab/ ab abbbbbbb
/(ab)/ ab abababab
匹配有一个或多个ab连一块儿的其中的提供分组的功能
分组捕获
将YYYY-MM-DD格式的日期替换成MM/DD/YYYY月日年。
const reg /^\d{4}-\d{2}-\d{2}$/
精确匹配\d[0-9]{4}4位数字 const reg /^\d{4}-\d{2}-\d{2}$/ const date 2023-01-05 console.log(reg.test(date))//true YYYY-MM-DD的匹配模式为/\d{4}-\d{2}-\d{2}/它是将整个日期作为一个组group匹配起来我们把这样的叫Group0
如果我们加上括号/(\d{4})-(\d{2})-(\d{2})/那么分组就是下面的情况
YYYY-MM-DD Group0
YYYY Group1
MM Group2
DD Group3
我们通过$符获取每个分组匹配的内容eg.$1代表YYYY$2代表MM ... const reg /^(\d{4})-(\d{2})-(\d{2})$/ const date 2023-01-05 console.log(date.replace(reg,$2/$3/$1)) //01/05/2023 分支结构
| 表示匹配规则1或规则2 const reg /(java)|(前端)/; const str1 学前端来黑马 const str2 学java也可以来黑马 reg.test(str1)//true reg.test(str2)//true