美文网首页
【正则】对字符串的一个简单处理重看正则

【正则】对字符串的一个简单处理重看正则

作者: 罗超伟 | 来源:发表于2018-07-25 17:15 被阅读29次

先看例子

var str ='u28a,u98234a,u76a,x4,u999,766a';
// 如何从字符串中得到 28,98234,76,x4,999,766
解决方法一

将字符串中的u和a全部去掉

str = str.replace(/u/g,'').replace(/a/g,'');
//或者(文兄告诉我的) str = str.replace(/u|a/g,''); 
解决(传统)方法二
while(str.includes('u')){
  str = str.replace('u','');
}
while(str.includes('a')){
  str = str.replace('a','');
}
解决方法三
var arr = str.split('u')
str = arr.join('');
arr = str.split('a');
str = arr.join('');
解决方法四
var reg = /u?(.*?)a?/g;
str = str.replace(reg,(a,b)=>b);
//或者用 str = str.replace(reg,'$1');

其它解决方法...

分析

我只打算分析一下方法一和方法四,因为我个人正则比较那个
在js中正则的实例不一定要通过new Regex()去实例化
一、/u/g 或 /u|a/g
其中 /u/ 只要串串中包含字母u就会匹配成功 最后的字母g表示全局匹配。
其中 | 表示或者 u|a 为 u或a
二、/u?(.*?)a?/g
u?表示有一个或者没有u,问号在这里是表示有一个或没有
a?表示有一个或者没有a,问号在这里是表示有一个或没有
()表示子匹配
.表示匹配除换行符 \n 之外的任何单字符
表示任意个前面的字符
? 在这里是指明一个非贪婪限定符,匹配最少的字符。
三、str.replace(/u?(.
?)a?/g,(a,b)=>b) 或 str.replace(/u?(.?)a?/g,'1') 基中回调中的参数a表示包括u a 在内的子字符串 其中回调中的参数b表示子匹配也就是与正则小括号里的匹配子串 其中1表示第一个匹配子串

其它示例

一、经常看到的模板引擎有{{= 某个变量 }}
比如:<span> {{= str }} </span>

var str = 'Hello world';
var template = '<span> {{= str }} </span>';
var reg = /{{=\s(.*)\s}}/g;
var html = template.replace(reg,(a,b)=>eval(b));
//html will

二、找出简历中的手机号并隐藏

var str = '姓名:张三手机: 13838383838邮箱: xxoo@qq.com\nasdfasf 13838383838';
var str2 ='姓名张三手机13838383838邮箱 xxoo@qq.com';
//要把其中的手机和邮箱改成***
var regMobile = /(0?\d{11})/g;
str = str.replace(regMobile,'***');
//变成138****3838
var regItem = /\d{3}(\d{4})\d{4}/;
str2 = str2.replace(regMobile,(a,b)=>a.substr(0,3)+'****'+a.substr(7));

相关文章

  • 【正则】对字符串的一个简单处理重看正则

    先看例子 解决方法一 将字符串中的u和a全部去掉 解决(传统)方法二 解决方法三 解决方法四 其它解决方法... ...

  • 正则-1

    1、正则的定义: 正则就是一个规则,用来处理字符串的一个规则(正则就是用来处理字符串的) 处理: 匹配: 判断一个...

  • 正则

    正则RegExp 正则:用来处理字符串的一个规则。处理:1)正则的匹配:判断一个字符串是否符合我们制定的规则->t...

  • js基础(4)

    15、正则 正则就是一个规则,用来处理字符串的规则1、正则匹配编写一个规则,验证某个字符串是否符合这个规则,正则匹...

  • 正则

    正则: 它就是一个规则,用来处理字符串的一个规则(正则就是用来处理字符串的) 1、处理: a、匹配:判断一个字符串...

  • 8.1 有穷自动机

    在固定字符串的处理上,正则表达式的速度是赶不上简单字符串处理的;如果要进行复杂多变的字符处理,正则表达式的速度则要...

  • js笔记四十五之正则表达式(1)

    正则 用来处理字符串的一个规则(正则就是用来处理字符串的) 判断一个字符串是否符合我们制定的规则 -> test(...

  • 正则基础

    正则: 它就是一种规则,用来处理字符串的规则,这说明了正则就是用来处理字符串的。处理: 匹配: 判断一个字符串是否...

  • 正则01

    one 正则的初识 // 正则:是一种处理字符串的规则 // 正则匹配:验证当前的字符串是否是符合该规则的子串;...

  • 正则1

    /* * 正则: 是一个出路字符串的规则 * 1.正则只能用来处理字符串 * 2.处理一般包含两方面: A:验证...

网友评论

      本文标题:【正则】对字符串的一个简单处理重看正则

      本文链接:https://www.haomeiwen.com/subject/epipmftx.html