RegExp 对象
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
直接量语法
/pattern/attributes
创建 RegExp 对象的语法:
new RegExp(pattern, attributes);
修饰符
修饰符 | 描述 |
执行对大小写不敏感的匹配。 | |
执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 | |
m | 执行多行匹配。 // 如果有换行符,可以找到! |
方括号
方括号用于查找某个范围内的字符:
表达式 | 描述 |
查找方括号之间的任何字符。 | |
查找任何不在方括号之间的字符。 | |
[0-9] | 查找任何从 0 至 9 的数字。 |
[a-z] | 查找任何从小写 a 到小写 z 的字符。 |
[A-Z] | 查找任何从大写 A 到大写 Z 的字符。 |
[A-z] | 查找任何从大写 A 到小写 z 的字符。 |
[adgk] | 查找给定集合内的任何字符。 |
[^adgk] | 查找给定集合外的任何字符。 |
(red|blue|green) | 查找任何指定的选项。// 它是和red等单词进行匹配,但是不支持^的功能 |
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符 | 描述 |
查找单个字符,除了换行和行结束符。 \n | |
查找单词字符。 //包括英文字母和数字 | |
查找非单词字符。 // 包括空白字符 | |
查找数字。 | |
查找非数字字符。 | |
查找空白字符。 | |
查找非空白字符。 | |
匹配单词边界。在单词边界匹配的位置,单词字符后面或前面不与另一个单词字符直接相邻。请注意,匹配的单词边界并不包含在匹配中。换句话说,匹配的单词边界的长度为零。举例: var str="Is this all there is?"; var patt1=/\w\b\w/g; document.write(str.match(patt1)); // 结果是null,所以\b不代表空格 var patt2=/\w\b\s\w/g; document.write(str.match(patt1)); // 结果是s t,s a,l t,e i | |
匹配非单词边界。 | |
\0 | 查找 NUL 字符。 |
查找换行符。 | |
\f | 查找换页符。 |
\r | 查找回车符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\ / | 一个 / 直接量 |
\\ | 一个 \ 直接量 |
\ . | 一个 . 直接量 |
\ * | 一个 * 直接量 |
\ + | 一个 + 直接量 |
\ ? | 一个 ? 直接量 |
\| | 一个 | 直接量 |
\) | 一个 ) 直接量 |
\[ 或\] | 一个 [或]直接量 |
\{或\} | 一个 {或}直接量 |
查找以八进制数 xxx 规定的字符。 | |
查找以十六进制数 dd 规定的字符。 | |
查找以十六进制数 xxxx 规定的 Unicode 字符。 |
量词
量词 | 描述 |
匹配任何包含至少一个 n 的字符串。 | |
匹配任何包含零个或多个 n 的字符串。 | |
匹配任何包含零个或一个 n 的字符串。 | |
匹配包含 X 个 n 的序列的字符串。 | |
匹配包含 X 到 Y 个 n 的序列的字符串。 | |
匹配包含至少 X 个 n 的序列的字符串。 | |
匹配任何结尾为 n 的字符串。// 这里的字符串,是以单词为单位,还是以真个字符串为单位? | |
匹配任何开头为 n 的字符串。// | |
匹配任何其后紧接指定字符串 n 的字符串。 | |
匹配任何其后没有紧接指定字符串 n 的字符串。 |
RegExp 对象属性
FF: Firefox,IE: Internet Explorer
属性 | 描述 | FF | IE |
RegExp 对象是否具有标志 g。 | 1 | 4 | |
RegExp 对象是否具有标志 i。 | 1 | 4 | |
一个整数,标示开始下一次匹配的字符位置。 | 1 | 4 | |
RegExp 对象是否具有标志 m。 | 1 | 4 | |
正则表达式的源文本。 | 1 | 4 |
RegExp 对象方法
FF: Firefox,IE: Internet Explorer
方法 | 描述 | FF | IE |
编译正则表达式。 | 1 | 4 | |
检索字符串中指定的值。返回找到的值,并确定其位置。 | 1 | 4 | |
检索字符串中指定的值。返回 true 或 false。 | 1 | 4 |
支持正则表达式的 String 对象的方法
FF: Firefox,IE: Internet Explorer
方法 | 描述 | FF | IE |
检索与正则表达式相匹配的值。 | 1 | 4 | |
找到一个或多个正则表达式的匹配。 | 1 | 4 | |
替换与正则表达式匹配的子串。 | 1 | 4 | |
把字符串分割为字符串数组。 | 1 | 4 |