正则表达式基础

一、基本语法

1、正则表达式是什么?

正则表达式,就是用某种模式去匹配一类字符串的公式。学习正则表达式就是学习怎样定义一种“模式”的语法,说白了,就是学习各种匹配的规则,例如匹配数字要怎么要怎么写,匹配字符怎么写等等。 

正则表达式是由普通字符(如字符A到字符Z)和特殊字符(称为元字符)组成。

2、正则表达式的定义

正则表达式的定义共有2种方式: 

 (1)显式定义; 

 (2)隐式定义;

举例

var myregex = new ReExp("[0-9]");    //显式定义
var myregex = /[0-9]/;    //隐式定义

3、test()方法 

test()方法返回一个boolean值。也就是说,test()方法检查字符串str是否符合正则表达式模式rgexp,如果符合,则返回true;如果不符合,则返回false。

二、正则语法

1、元字符及其在正则表达式上下文中的行为的一个完整列表:

字符  描述 
 \d

匹配数字,相当于[0-9]

 \D 匹配非数字,相当于[^0-9]
 \w 匹配字母或数字或汉字或下划线
 \W 匹配任意不是字母、数字、汉字或下划线的字符
 \s 匹配任意的空白符,如空格、换行符、制表符等
 \S 匹配任意不是空白符的字符
 .(点号) 匹配除了换行符以外的任意字符
 [...] 匹配方括号中的所有字符
 [^...] 匹配非方括号中的所有字符
  
 [0-9] 匹配数字,等价于\d
 [a-z] 匹配英文小写字母
 [A-Z] 匹配英文大写字母
 [0-9a-zA-z] 匹配数字或英文字母
  
 + 重复1次或更多次
 * 重复0次或更多次(任意次数)
 ? 重复0次或1次(最多1次)
 {n} 重复n次
 {n,} 重复n次或更多次(最少n次)
 {n,m} 重复n到m次
  
 ^ 限定开始位置的字符
 $ 限定结尾位置的字符
 \b限定单词(字)边界的字符 
 \B 限定非单词(字)边界的字符
  
 | 例如:x|y,表示匹配 x 或 y
 \例如get\+,    因为+是正则表达式的特殊符号,因此必须在+前面加上“\”对其进行转义。

需要转义的字符有:$、(、)、*、+、.、[、]、?、\、/、^、{、}、|。

2、分组

/(abc){2}/

说明:①使用()把abc分为一组; ② {2}表示把(abc)这一组重复2次; 因此,这个正则表达式匹配的是必须包含abcabc的字符串。

3、优先级顺序

运算符或表达式  
  说明
 \ 转义符
 ()、(?:)、(?=)、[] 圆括号或方括号
 *、+、?、{n}、{n,}、{n,m} 限定符
 ^、$、\b、\B 位置和顺序
 | 选择符,“或”运算
上一篇: JSON详解
下一篇: “体制内”工作
作者邮箱: 203328517@qq.com