正则表达式

正则表达式(RegExp)

1.作用:匹配特殊字符或有特殊搭配原则的字符的最佳选择
2.两种创建方式

  • 直接量

var reg = /abc/属性;

  • new RegExp();

var reg = new RegExp(“abc”,“属性”);

3.属性:
i:忽视大小写
g:全局匹配
m:多行匹配
4.方法

reg.test(); //找在str中有没有相同片段,返回true , false
reg.exec(); //搜索字符串,未找到则为null,在g下游标会移动,确定位置,lastIndex可以改变游标
str.match(); //找在str中相同片段,并返回片段

 var reg = /abc/i;
 var str = "Abcdef";

5.表达式 [ ]

  • 一个表达式是一位,里面填写的是区间
 var reg = /[0-9][0123456789][0123456789]/g;
 var str = "231sdf43465hgghgf"
 str.match(reg); //""231","434""

6.元字符

\w == [0-9A-z]
\d == [0-9] 查找数字
\s == [\t\n\r\v\f ] 查找空白字符
\b == [单词边界]
\uxxxx :十六进制规定的unicode字符
. == [^\n\r] (不是\n\r)

7.量词

n+ :匹配任何包含至少一个n的字符串 {1, }
n* :匹配任何包含零个或多个n的字符串 {0, }
n? : 匹配任何包含零个或一个n的字符串 {0,1}
n{x,y} :{x, y}
^n :开头
n$ :结尾

例题

检验一个字符首尾是否含有数字(首或尾)
var reg = /^\d|\d$/g;

8.replace()
反转

 var reg = /(\w)\1(\w)\2/g;//子表达式1(\w),2(\w)
 var str = "aabb";
 console.log(str.replace(reg,"$2$2$1$1"));//$获取子表达式的内容

替换

var reg = /-(\w)/g;
var str = "the-first-name";
console.log(str.replace(reg,function($,$1){ //第一个参数是全局的,第二个是第一子表达式,依次类推
   return $1.tuUpperCase();
 }));

字符串去重

var str = "aaaaaaabbbbbccccc";
var reg = /(\w)\1*/g;
console.log(str.replace(reg,"$1")); 

科学计数法

var str = "10000000000";
var reg = /((?=(\B)\d{3})+$)/g;
console.log(str.replace(reg,"."));//10.000.000.000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值