正则表达式

2017-11-21  本文已影响21人  耦耦

正则表达式经常被简称为模式,它们其实是一些由字符构成的字符串。正则使用的场景,不外乎两种情况:一种是查找特定的信息(搜索),另一种是查找并编辑特定的信息(替换)。给定一个正则表达式,它要么匹配一些文本(进行一次搜索),要么匹配并替换一些文本(进行一次替换)。

匹配单个字符

匹配一组字符

注意:
1、在定义字符区间时,一定要避免让这个区间的尾字符小于它的首字符(例如[3-1])。这种区间没有意义,而且往往会让整个模式失效。
2、-(连字符)是一个特殊的元字符,作为元字符它只能用在[和]之间。在字符集以外,-是普通字符,只与自身匹配。

使用元字符

元字符是一些在正则表达式里有着特殊含义的字符。英文句号(.)、左方括号[、右方括号]等都是元字符。如果不对元字符进行转义,那么我们就无法匹配到像以上几个元字符的本身,这就是我们需要转义的原因。

重复匹配

匹配位置

使用子表达式

回溯引用:前后一致匹配

回溯引用指的是模式的后半部分引用在前半部分中定义的子表达式。

前后查找

//文本
<head>
      <title>Ben Forta's Homepage</title>
</head>

//正则表达式
<?<=\<[tT][iI][tT][lL][eE]>).*<?=\</[tT][iI][tT][lL][eE]>).*

//结果
Ben Forta's Homepage

常见问题的正则表达式解决方案

var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/;
   var email = "example@qq.com";
   console.log(reg.test(email));  // true  
function trim(str) {
    if (str && typeof str === "string") {
        return str.replace(/(^\s*)|(\s*)$/g,""); //去除前后空白符
    }
}

2017-11-21 正则表达式学习完成

上一篇下一篇

猜你喜欢

热点阅读