正则学习

2019-06-23  本文已影响0人  真是个非常帅气的昵称呢

创建方式

1.对象显示创建

var regexp=new RegExp("js","ig')

2.字面量

var regexp=/js/ig

正则表达式特殊字符

\d [0-9] 匹配数字
\D [^0-9] 匹配非数字字符
[A-Za-z] 匹配大小写字符
\s 匹配空白字符
\S 匹配非空字符
\w [A-Za-z0-9_] 匹配字母数字下划线
\W 匹配非数字字母字符

方法

1.test,返回的是布尔值

var str="cfdsJS *(&JSjs 888js"
if(regexp.test(str)){
  //do something
}

2.exec,返回数组

   var regexp=new RegExp('(ds)+(j+s)','ig')
    var str="cfdsJS *(&JSjs 888js"
    var arr=regexp.exec(str)
    console.log(arr.length);
    console.log(arr);
    while(arr){
      document.writeln(arr+"  "+"<br>")
      document.writeln("next match at "+regexp.lastIndex+"<br>")
      arr=regexp.exec(str)
    }

由于设置了全局匹配,把RegExp中的lastIndex属性设置为在每一次连续调用中找到的的上一个模式的位置,因此每次调用exec都会查找下一个模式。当没有匹配时,返回null


image.png

exec方法每次只返回当前匹配项和所有带圆括号的子字符串。

\color{red}{注:} 正则表达式中的圆括号匹配字符串,并记住匹配结果,将其保存在数组中

1,2....$9 保存圆括号所匹配的子字符串

    var regexp=/(\w*)-*(\w*)/
    var str="java--script"
    var result=str.replace(regexp,"$2+$1")
    console.log(result);      //script+java
上一篇 下一篇

猜你喜欢

热点阅读