首页 > 代码库 > 正则表达式

正则表达式

一、正则表达式

1、用途

  模式匹配:有效性验证、提取子串、查找特定字符、替换

 

2、语法

2.1、定界符//:/匹配模式/

2.2、定位符:

  • ^  开头
  • $  结束
  • b  单词边界
  • B  非单词边界

2.3、元字符:具有特殊意义的字符

(1)量词,限定符:规定给定的组件必须要出现多少次才能满足匹配

  • +   至少1次 (前导字符在目标对象中连续出现)
  • *   0次 或 多次 
  • ?   0次 或 1次
  • {n}   非负整数 匹配确定的n次
  • {n,}  至少匹配n次
  • {n,m}  匹配n到m次

(2)字符类

  • s  空白字符,比如空格、tab键、换行
  • S  非空白字符
  • w  字母、数字、下划线
  • W 非w
  • d  数字
  • D  非数字
  • .   除换行外的所有字符

说明:

  1. d 不匹配圆角的0-9的字符
  2. w 不匹配汉字、不匹配圆角的数字、字母、下划线
  3. s 开头的中间的结尾的空白字符 都会匹配
  4. s和S w和W d和D 等可认为是互逆运算

(3)other 运算符

  • []  指定一个范围。eg. [a-zA-Z0-9]
  • () 组合字符串,所包含的内容必须同时一起。eg. ([a-z][A-Z][0-9]),aA0匹配,aAA不匹配
  • |  管道符,或的意思,多个不同的模式。      eg. (fo|foo|fool),匹配fo, 也匹配foo,也匹配 fool
  • ^ 否定运算符。一般出现在[]内部的是否定运算符,[]之外的是定位符^。eg. [^0-9] 表示除0-9数字之外的所有字符

3、转义字符

 

二、JavaScript中的正则

1、匹配模式,两种语法

  1. /pattern/
  2. new RegExp( string )

2、修饰符

  1. i    忽略大小写
  2. g   全文查找所有匹配的
  3. m  多行查找

 3、RegExp对象的方法

  1. test()      检索,返回 true false
  2. exec()     检索,返回找到的值,并确定其位置
  3. compile()  编译正则表达式

 

三、支持正则表达式的 String对象 方法

  1. search()  检索
  2. match()   查找
  3. replace()  替换
  4. split()      分割