JavaScript正则表达式
正则表达式经常被简称为模式,正则表达式是由正则表达式语言创建的,正则表达式语言并不是一种完备的程序设计语言。更准确的说,正则表达式语言是内置于其他语言或软件产品的“迷你”语言。
定义正则表达式
js中的正则表达式用RegExp对象表示,有两种方式创建RegExp对象。
一种是通过一种特殊的直接量语法创建
var pattern = /s$/
另一种是使用RegExp()构造函数
var pattern = new RegExp('s$')
如果需要修饰符
var pattern = /s$/i
var pattern = new RegExp('s$','i')
js中正则表达式语法
js中正则表达式还是比较弱的,比如不支持后行断言,不支持嵌入条件。
基础字符
^ $ . * + ? = ! : | / ( ) [ ] { }
字符 | 匹配 |
做转义,即通常“”后面的字符不按原来的意义解释,如/b/匹配字符‘b’,而//转义为匹配一个字符的边界。 或 对正则表达式功能字符的还原,如“*”表示匹配它前面元字符0次或n次,而加“”后,/a*/匹配“a*” |
|
^ | 匹配一个输入或一行的开头,/^a/匹配以a开头的输入 |
$ | 和^相反, 匹配一个输入或一行的结尾 |
() | 标记一个子表达式的开始和结束位置。 |
[ | 标记一个钟括号表达式的开始。 |
直接量字符
直接量字符包括字面含义的字母和数字、非字母的字符、和一些具有特殊含义的字符,后面两种需要转义。
字符 | 匹配 |
字母和数字 | 自身 |