美文网首页
正则表达式匹配

正则表达式匹配

作者: _花 | 来源:发表于2018-10-10 15:45 被阅读0次

JS中正则表达式常用方法:

在RegExp对象中:

1:test(yourString);

定义:检测一个字符串是否匹配某个模式。
其他说明:该方法将忽略"g"标志,只要查找到符合模式的字符串即匹配成功。(如果正则对象含有"g"标志,那么每次使用test()将从lastIndex位置开始匹配,匹配成功会更新lastIndex属性值;没有"g"标志,test()将从字符串起点开始匹配,也不会对lastIndex做更新)

2:exec(yourString);

定义:检索字符串中的正则表达式的匹配。
其他说明:若没开启"g"标志,从字符串起始位置开始并只查找一次,不修改正则对象的lastIndex属性,返回一个对象,包含下标0、index、input,这时属性和match等价;开启"g",从lastIndex位置开始查找,如果存在匹配将修改正则对象的lastIndex属性为这次找到的子字符串的末尾位置,返回一个同样的对象。(你可以自行修改正则对象的lastIndex属性来规定exec开始查找的位置。)

var reg = /^a[1-9]/;
var arr = reg.exec("a4");
console.log(arr[0]); //a4
console.log(arr.index);//0
console.log(reg.exec("a2"));//["a2", index: 0, input: "a2", groups: undefined]

小总结:不具有"g"标志的正则对象和String对象的正则操作不能访问和修改lastIndex属性。(如果在成功地匹配了某个字符串之后就开始检索另一个新的字符串,需要手动地把这个属性设置为0)

在String对象中:

1:search(yourRegexpOrString);

定义:检索字符串中与指定的子字符串或正则表达式相匹配的子字符串。
其他说明:该方法将忽略"g"标志和正则对象的lastIndex属性(即总是从开头找起),返回找到的第一个字符的位置,如果未找到返回-1。

2:match(yourRegexpOrString);

定义:在字符串内查找一个或多个与正则表达式匹配的字符串,返回一个对象。(同样忽略laseIndex属性,下面两个函数也同样)
其他说明:若没开启"g"标志,将只查找第一个匹配的字符串,返回一个对象,包含下标0、index、input,其中下标0等价于index,input是String的引用;开启"g",返回一个数组,数组的length是匹配的字符串个数,每个元素是每个匹配的起始字符位置。

3:replace(yourRegexpOrString,placementString);

定义:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
其他说明:如果没有"g"标志只会替换一次,并且如果参数是字符串而不是正则对象始终替换一次。

使用replace正则匹配的方法:

去除所有空格: str = str.replace(/\s*/g,"");

去除两头空格: str = str.replace(/^\s|\s$/g,"");

去除左空格: str = str.replace( /^\s*/, “”);

去除右空格: str = str.replace(/(\s*$)/g, "");

常见的元字符描述

  • \w
    匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集。
  • \W
    匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
  • \s
    匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
  • \S
    匹配任何可见字符。等价于[^ \f\n\r\t\v]。
  • [^,] 除了逗号之外的任何字符
  • ([^,]*), 我们必须找到0或者多个非逗号字符后面跟着一个逗号,并且非逗号字符那部分要标记出来以备后用。

相关文章

  • Nginx 匹配规则

    无 :默认匹配,普通匹配 = :精确匹配 ~* :匹配正则表达式,不区分大小写 ~ :匹配正则表达式,区分大小写 ...

  • 2019.8.15分享:正则表达式字符匹配攻略

    一、正则表达式 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 这次分享主要将提下正则表达式字符匹配 • 两种...

  • python与正则表达式 2020-01-02(未经允许,禁止转

    正则表达式 正则表达式与程序语言无关。正则表达式做匹配实际上就做3件事:【字符匹配】+【次数匹配】+【逻辑匹配】下...

  • 《javaScript正则表达式迷你书》(一)

    正则表达式字符匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 两种模糊匹配 如果正则只有精确匹配是没...

  • 正则加^$与不加的区别

    加^$的正则表达式,表示完整匹配。 正则表达式匹配内容匹配结果说明/bc/abcdefg成功包含就能匹配成功/^a...

  • 正则表达式收集

    常用正则表达式大全 常用正则表达式大全!(例如:匹配中文、匹配html) 匹配中文字符的正则表达式:[u4e00-...

  • 正则表达式位置匹配攻略

    来源:正则表达式位置匹配攻略作者:老姚(转载已获得作者授权) 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 ...

  • 正则表达式字符匹配攻略

    来源:正则表达式字符匹配攻略作者:老姚(转载已获得作者授权) 正则表达式是匹配模式,要么匹配字符,要么匹配位置。请...

  • 5: 正则表达式 + 三剑客之grep

    3 正则表达式 正则表达式元字符分类: 字符匹配 次数匹配 位置锚定 分组 基本正则表达式: vim, grep,...

  • 常用正则表达式

    常用正则表达式大全!(例如:匹配中文、匹配html)目录导航一、常见正则表达式二、正则表达式应用一、常见正则表达式...

网友评论

      本文标题:正则表达式匹配

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