龙空技术网

正则表达式:(?=a)是什么意思?说说前端常用到的正则表达式

代码开发 468

前言:

如今咱们对“正则表达式中”可能比较重视,我们都想要分析一些“正则表达式中”的相关内容。那么小编也在网络上搜集了一些有关“正则表达式中””的相关资讯,希望姐妹们能喜欢,大家一起来了解一下吧!

这都是什么玩意?(?=a) 表示我们需要匹配某样东西的前面。 (?!a) 表示我们需要不匹配某样东西。 (?:a) 表示我们需要匹配某样东西本身。 (?<=a) 表示我们需要匹配某样东西的后面。 (?<!a) 表示我们需要不匹配某样东西,与(?!a)方向相反。

console.log("我是中国人".replace(/我是(?=中国)/, "rr")) // 输出: 'rr中国人',匹配的是中国前面的'我是' console.log("我是中国人".replace(/(?!中国)/, "rr")) // 输出:'rr我是中国人' console.log("我是中国人".replace(/(?:中国)/, "rr")) // 输出:'我是rr人',匹配'中国'本身 console.log("我是中国人".replace(/(?<=中国)人/, "rr")) // 输出:'我是中国rr',匹配的是中国后面的'人' console.log("我是中国人".replace(/(?<!中国)/, "rr")) // 输出:'rr我是中国人'
正则表达式规则表

修饰符与方括号:

元字符:

量词:

正则字符串方法:

使用场景

去除字符串中的中文

console.log("aaa我是中国人111".replace(/[^u4E00-u9FA5]/g, "")) // 去除中文,输出:'aaa111' 

去除字符串中的英文

console.log("aaa我是中国人111".replace(/(\d)\1+/g, "")) // 去除数字,输出:'aaa我是中国人' 

去除字符串中的数字

console.log("aaa我是中国人111".replace(/([a-z])\1+/g, "")) // 去除英文,输出:'我是中国人111'

数字格式化

console.log("1234567890".replace(/\B(?=(?:\d{3})+(?!\d))/g,",")) // 输出:'1,234,567,890'

去除ip地址

console.log("192.168.0.1".replace(/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/,"rr"))// 输出:'rr'

(手机号码,邮政号码,邮箱地址,身份证号码,用户名,密码)

链接:

标签: #正则表达式中