\s 任何空白符,等价于[ \t\n\r\f\v]
\S 任何非空白符,等价于[^ \t\n\r\f\v]括号 () 有两个用途
1 用于把单独的项目分组成子表达式
这种括号通常后接复制字符,复制字符这时只对()内的字符进行复制处理
例如:
/java(script)?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有
/(ab|cd)+|ef/ 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复2 在完整的模式(正则表达式)中定义子模式
对一个正则表达式模式或部分模式两边添加圆括号将导致这部分表达式存储到一个临时缓冲区中
所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储
存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。
每个缓冲区都可以使用'\n'或'$n'访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数
注意,'\n'或'$n'引用的并不是那个子表达式的模式,而是与那个模式相匹配的文本
\S 任何非空白符,等价于[^ \t\n\r\f\v]括号 () 有两个用途
1 用于把单独的项目分组成子表达式
这种括号通常后接复制字符,复制字符这时只对()内的字符进行复制处理
例如:
/java(script)?/ 匹配的是字符串 "java",其后既可以有 "script",也可以没有
/(ab|cd)+|ef/ 匹配的既可以是字符串 "ef",也可以是字符串"ab" 或者 "cd" 的一次或多次重复2 在完整的模式(正则表达式)中定义子模式
对一个正则表达式模式或部分模式两边添加圆括号将导致这部分表达式存储到一个临时缓冲区中
所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容存储
存储子匹配的缓冲区编号从 1 开始,连续编号直至最大 99 个子表达式。
每个缓冲区都可以使用'\n'或'$n'访问,其中 n 为一个标识特定缓冲区的一位或两位十进制数
注意,'\n'或'$n'引用的并不是那个子表达式的模式,而是与那个模式相匹配的文本
比如
(\S+)(\s+)(\S+)
第一个匹配就相当于是The rain
$3 是rain
$2 是空格
$1 是The
最后就是相当于反向
function f2c(s) {
var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。
return(s.replace
(test,
function($0,$1,$2) {
return((($1-32) * 5/9) + "C");
}
)
);
}
document.write(f2c("Water freezes at 32F and boils at 212F."));