js-正则表达式边界符和前瞻、后顾的使用-保证你看明白

简介: js-正则表达式边界符和前瞻、后顾的使用-保证你看明白

创建正则表达式第两种方式


1==>通过new字符的方式,来创建正则表达式


2==>通过创建字面量的方式去创建


1.new字符的方式


let regexp=new RegExp(/123/)


2.字面量的方式去创建正则


console.log(/123/.test(12345));


/正则规则/.test('被检测的值')


test:正则对象方法,用于检测字符串是否符合该规则。


该对象会返回true或false,其参数是测试字符串.


true表示符合规则,false表示不符合规则。


简单使用


console.log(/123/.test(12345)); //返回true


判断字符是否包含某个字母


// 查看字符串中是否包含某一个qq这个字母.
let str1='qq飞车'
console.log( /qq/.test(str1) ) //true


只有该字符串str1中只要包含qq就可以。就会返回true


边界符


这里我们介绍两个。


^ ===> 以什么开头


$ ===> 以什么结尾


如果^和$放在一起,就是精准匹配的哈。


字符串中是否以q这个字母开头(^)


// 匹配字符是否以q开头的字符
let str1='qq飞车'
console.log( /^q/.test(str1) ) //true
tip:判断是否以某个字母开头使用 ^


字符串中是否以q这个字母结尾($)


// 匹配以q结尾的字符
let str1='qq飞车'
let str2='飞车qq'
console.log( /q$/.test(str1) ) //false
console.log( /q$/.test(str2) ) //true
扩展:以1512这个数字结尾怎么判断呢?
let str1='qq飞车1512'
let str2='飞车qq1512 '
console.log( /1512$/.test(str1) ) //true
console.log( /1512$/.test(str2) ) //false 最后有空格,所以是false


以abc开头,以abc结尾


// 正则的规则是以abc开头,以abc结尾
console.log(/^abc$/.test('abc')); //true
console.log(/^abc$/.test('abcabc')); //false
// 这个有些小伙伴觉得是返回也应该是true,但实际确实false
// 认为它是以abc开头的,以abc结尾的。
// 其实并不想的那样,他是以abcabc开头的哦,以abcabc结尾的。
// 所以返回false


字符类


1==> 字符类:[] 表示有以系列的字符可以选择,
只要匹配其中一个就可以了。
let str1=/[abc]/ //是要包含a,或者b,或者c,就行。
let cont='hello a'
console.log(str1.test(cont));//true
ps:字符类跟下面这个有所有不同的
console.log(/123/.test(12345)); //返回true
这个是必须包含123,并不是包含其中一个就行。需要注意一下哈~


let str1=/^[abc]$/; //三选一,只有a,或者b,或者c开头,结尾的字符才返回true
console.log( str1.test('a')) //true
console.log( str1.test('b')) //true
console.log( str1.test('c')) //true
console.log( str1.test('abc')) //false
console.log( str1.test('ab')) //false
console.log( str1.test('ac')) //false


26个英文小写字母中的任意一个。精准匹配
let str=/^[a-z]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('ab')); //false,因为以ab开头,ab结尾
console.log(str.test('A')); //false,因为是大写


26个英文小写大写字母中的任意一个。精准匹配
let str=/^[a-zA-Z]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('ab')); //false,因为以ab开头,ab结尾
26个英文小写大写或者0-9或者-或者+任意一个。
let str=/^[a-zA-Z0-9-+]$/
console.log(str.test('a')); //true
console.log(str.test('z')); //true
console.log(str.test('-')); //true
console.log(str.test('+')); //true
console.log(str.test('+-')); //false


// 如果中括号里面有^,表示取反的意思。千万别和我们的边界符^混淆了
let str=/^[^a-zA-Z0-9]$/ //除了26个英文字母,除了0-9都是可以的 
console.log(str.test('A')); //false
console.log(str.test('z')); //false
console.log(str.test('0')); //false
console.log(str.test('了0')) //false
console.log(str.test('了')) //true


(使用前瞻)/bb(?=aa)/, aa前面是bb,不包含bb



let str1='javascript,typescript';
// 字符串str1中,script前面是否有java,符合规则返回ture
console.log( /java(?=script)/.test(str1)); //true
let str2='java script,typescript';
// 字符串str1中,script 前面是否有java
console.log( /java(?=script)/.test(str2)); //false
// 因为script 前面是否是空格java
let str3='javaxxscript,typescript';
// 字符串str1中,script 前面是否有java
console.log( /java(?=script)/.test(str3)); //false
// 因为script 前面是否是javaxx,不是java


使用后顾 /(?<a1)b2/==>匹配a1后面的是否有b2,匹配结果不包含b2


// 匹配a1后面的是否有b2
let str1='a1b2'
console.log(/(?<=a1)b2/.test(str1)) //true
// 匹配a1后面的是否有b2
let str1='a1b211'
console.log(/(?<=a1)b2/.test(str1)) //true
// 匹配a1后面的是否有b2
let str1='a1a1b2b2'
console.log(/(?<=a1)b2/.test(str1)) //true


有的小伙伴会说这个a1a1b2b2,不符合规则.


因为:a1a1b2b2 第一个a1后面仍然是a1,应该返回的是false


怎么会返回true.因为匹配的是的时候是每两个字符去匹配.


a1,1a,a1这个时候后面就是b2了,


尾声


如果你觉得我写的不错的话,可以给我推荐、打赏、评论!


上一个给我打赏的小伙伴都已经找到女朋友了!


咦!你不信,不信你给我打赏看一下!


保准你追到到喜欢的Ta!


你不会追,哎!难受。


我教你,你可以这样说:


小生不才,斗胆-问,不知姑娘是否心系他人。


感情之事,在下不敢儿戏!


如若姑娘早已心系他人。那在下便不再打扰。


如若有所唐突还望姑娘多加体谅!


若姑娘非我良人,那在下就不庸人自恼。


在下怕越陷越深,还望姑娘尽早告知!话已至此,我便先在此谢过!


拿去不谢!回头告诉我结果啊!


咦!抓住一个没有打赏的小伙伴!

相关文章
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
428 2
|
JavaScript 前端开发
js中通过正则表达式验证邮箱是否合法
这篇文章提供了一个JavaScript示例,通过正则表达式在网页上验证用户输入的邮箱地址是否合法,并给出了相应的提示信息。
js中通过正则表达式验证邮箱是否合法
|
自然语言处理 JavaScript 前端开发
JavaScript 正则表达式
JavaScript 正则表达式
71 3
|
机器学习/深度学习 JavaScript 前端开发
JavaScript中的正则表达式详细展示
JavaScript中的正则表达式详细展示
114 6
|
JavaScript 前端开发 测试技术
JavaScript进阶-正则表达式基础
【6月更文挑战第21天】正则表达式是处理字符串的利器,JavaScript中广泛用于搜索、替换和验证。本文讲解正则基础,如字符匹配、量词和边界匹配,同时也讨论了常见问题和易错点,如大小写忽略、贪婪匹配,提供代码示例和调试建议。通过学习,开发者能更好地理解和运用正则表达式解决文本操作问题。
139 1
|
前端开发 JavaScript
前端 js 经典:正则表达式
前端 js 经典:正则表达式
160 2
|
JavaScript 数据安全/隐私保护
js 常用正则表达式【实用】
js 常用正则表达式【实用】
110 0
|
存储 JavaScript 前端开发
|
XML JavaScript 数据安全/隐私保护
一篇文章讲明白js常用js正则表达式大全
一篇文章讲明白js常用js正则表达式大全
191 0
|
JavaScript 前端开发 测试技术
学会JavaScript正则表达式(二)
学会JavaScript正则表达式(二)
103 0