千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 正则表达式不包含某个字符串

正则表达式不包含某个字符串

来源:千锋教育
发布人:xqq
时间: 2023-11-22 10:36:45 1700620605

一、正则表达式基础

正则表达式是一种用来匹配字符串的工具。它通过定义一个规则来匹配符合该规则的特定文本,这样就可以对想要匹配的字符串进行过滤或者替换操作。正则表达式中包括了一些特殊字符和元字符。

在正则表达式中,可以使用[]括号来指定一个字符集合,例如可以用[abc]来匹配a、b或者c中的任意一个字符。还有一些特殊元字符和字符组合,例如.可以匹配除了换行符以外任意一个字符,^可以匹配文本的开始位置。

正则表达式是强大而又复杂的工具,需要仔细学习和掌握。对于不熟悉正则表达式的开发者来说,掌握一些基础的语法和规则是非常必要的。

二、正则表达式不包含某个字符串的基本语法

正则表达式中,使用!符号来表示不包含某个字符串。例如,正则表达式[abc]!d可以匹配所有含有a、b、c但不包含d的字符串。

除了!符号,还可以用(?!)来表示否定预查。例如,正则表达式\w+(?!\d)可以匹配任意一个不以数字结尾的单词。


// 示例代码:
const regex1 = /[abc]!d/;
const regex2 = /\w+(?!\d)/;
console.log(regex1.test("abd")); // 输出true
console.log(regex1.test("ad")); // 输出false
console.log(regex2.test("hello1")); // 输出false
console.log(regex2.test("hello")); // 输出true

三、正则表达式不包含某个字符串的高级应用

正则表达式不仅可以用来简单的匹配字符串,还可以通过分组、替换等操作实现更加复杂的功能。

例如,可以使用捕获组和反向引用来实现字符串的替换。在正则表达式中,用()表示一个捕获组。可以使用$1、$2等符号来表示引用第一个、第二个捕获组的内容。例如,正则表达式(\w+),\s(\w+)可以匹配一个逗号隔开的单词对,并且会将每个单词存储在不同的捕获组中。可以使用 $2 $1 来替换成反向顺序的单词对。


// 示例代码:
const regex3 = /(\w+),\s(\w+)/;
console.log("hello, world".replace(regex3, "$2 $1")); // 输出world hello

另外,正则表达式还可以使用修饰符,例如i修饰符可以实现大小写不敏感匹配,g修饰符可以实现全局匹配。通过修饰符,可以更加灵活地控制正则表达式的匹配效果。


// 示例代码:
const regex4 = /hello/i;
console.log(regex4.test("Hello World")); // 输出true

const regex5 = /hello/g;
console.log("hello hello".replace(regex5, "hi")); // 输出hi hi

四、结语

正则表达式不包含某个字符串是一种非常常用的正则表达式操作,不过对于一些复杂的正则表达式操作,需要投入更多的时间来学习和掌握。通过不断练习和使用,相信你会逐渐熟练掌握正则表达式的技巧。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT