JS基础之正则表达式

正则表达式

用于定义一些字符串的规则,计算机可以根据正则表达式检查一个字符串是否符合规则。

在构造函数中创建一个匹配模式作为第二个参数:i 忽略大小写;g全局匹配模式

// 创建正则表达式
var reg  = new RegExp("a"); // 匹配是否含有a
var string = "a";
// 测试字符串是否符合
var result = reg.test(string);
正则语法
  1. 使用字面量来创建正则表达式
    var 变量 = / 正则表达式 / 匹配模式
    例:var reg = / a / i ;
  2. 使用构造函数创建正则表达式更加灵活。
  • 或 | 、[ ] 里的内容也是或的关系、[a-z]、[A-Z]、[A-z];
  • [ ^ s ]除了s的其他东西

量词

  • 通过量词可以设置一个内容出现的次数
  • 量词只对它前面一个内容起作用
  • {n} 出现n次
  • {m,n} 出现m-到-n次
  • {m,} 出现m次以上
  • {+}至少出现1次
  • {*} 至少出现0次
  • ?出现1次或0次

检查是否以a开头

/^a/

检查是否以a结尾
/a$/

如果同时使用^ 和 $,则要求这个字符串完全符合正则表达式

检查是否字符串中由 . {点}

因为 . {点}表示任意字符,所以匹配时要加入转义字符
reg = / \. /
特殊符号的匹配都需要转义字符进行转义

大小写刚好相反

  • \w 任意字母、数字、 _
  • \ W 除了字母、数字、_
  • \d 任意数字
  • \s 空格
  • \b 单词边界 一个独立的单词 hello child 和 hellochild,前者符合,后者不符合;可用来去除不需要的空格:
    str = str.replace(/\s/g/, “”)

字符串和正则相关的方法

  1. split
    split([A-z]) / 根据任意字母拆分
  2. search
    搜索字符串中是否含有指定内容
    如果有,则返回第一次出现的索引,否则返回-1
  3. match
    • 可以根据正则表达式将符合正则规则的内容提取出来,但是默认情况下只会找到第一个匹配的内容,可以将正则设置为全局匹配模式,这样就可以提取到所有符合规则的内容
    • match( / [ A - z ] / g)
    • match会将提取到的内容封装到一个数组当中返回

你可能感兴趣的:(正则表达式,javascript)