请问,jQuery中的一个正则表达式
请教,jQuery中的一个正则表达式
var rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$" );
其中whitespace = “[\x20\t\r\n\f]”;
请帮分析下这个正则表达式,不胜感激~
jQuery中调用的代码:selector.replace( rtrim, "$1" )
------解决方案--------------------
正则表达式将匹配 位于字符串两端的指定字符(空白字符)
配合 replace 方法可实现去除两端空白字符的功能,也就是高点版本浏览器中的 trim 方法
------解决方案--------------------
与正则无关!
\ 是转义符,如果要在串中出现 \ 这个字符就需要转义,写作 \\
------解决方案--------------------
\x20 空格,即 ascii 32
\t table键制表符
\r 回车
\n 换行
\f 不明...
------解决方案--------------------
http://blog.csdn.net/superwfei/article/details/1299107
3.4 括号 "( )" 内的子表达式,如果希望匹配结果不进行记录供以后使用,可以使用 "(?:xxxxx)" 格式
举例1:表达式 "(?:(/w)/1)+" 匹配 "a bbccdd efg" 时,结果是 "bbccdd"。括号 "(?:)" 范围的匹配结果不进行记录,因此 "(/w)" 使用 "/1" 来引用。
------解决方案--------------------
这个还有个地方用到的
例
"abc ",
匹配的是“c ”,其中$1是c.
注意他是用全局匹配的。
var rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$" );
其中whitespace = “[\x20\t\r\n\f]”;
请帮分析下这个正则表达式,不胜感激~
jQuery中调用的代码:selector.replace( rtrim, "$1" )
------解决方案--------------------
正则表达式将匹配 位于字符串两端的指定字符(空白字符)
配合 replace 方法可实现去除两端空白字符的功能,也就是高点版本浏览器中的 trim 方法
------解决方案--------------------
var selector = " aa\\\\\abc\def\ aaa bbb \a ";
document.write(selector); //aa\\abcdef aaa bbb a
与正则无关!
\ 是转义符,如果要在串中出现 \ 这个字符就需要转义,写作 \\
------解决方案--------------------
\x20 空格,即 ascii 32
\t table键制表符
\r 回车
\n 换行
\f 不明...
------解决方案--------------------
http://blog.csdn.net/superwfei/article/details/1299107
3.4 括号 "( )" 内的子表达式,如果希望匹配结果不进行记录供以后使用,可以使用 "(?:xxxxx)" 格式
举例1:表达式 "(?:(/w)/1)+" 匹配 "a bbccdd efg" 时,结果是 "bbccdd"。括号 "(?:)" 范围的匹配结果不进行记录,因此 "(/w)" 使用 "/1" 来引用。
------解决方案--------------------
这个还有个地方用到的
// Cast descendant combinators to space
type: match[0].replace( rtrim, " " )
例
"abc ",
匹配的是“c ”,其中$1是c.
注意他是用全局匹配的。