一直在用Perl的正则处理字符串,突然在js里面要用到,有点不知所措了,看了一下,差不多,主要是Perl的写法太简单了...
- 正则查找
1 //正则查找,并得到找到的字符串 , 如$1 , $2 2 //js里面用了的显示的一个数组来保存匹配的结果 3 function regex_search() 4 { 5 // 这个正则获得 $1 = 网址 , $2 = 中间的路径 , $3 = 全文件名, $4 = 文件的标题 , 6 var regex = new RegExp("http://(.+)/(.+)/((.+)\.(.+))"); 7 var perl_regex = /http:\/\/(.+)\/(.+)\/((.+)\.(.+))/ ; //perl的写法,有点不方便,需要很多转义 8 //这里我们匹配一下这个字符串 9 var str = "http://www.baidu.com/dir/test.jpg"; 10 var matches = str.match(regex); 11 12 // 匹配数组同样从 1 开始表示匹配的数据, matches[0]是原字符串 13 var www = matches[1]; 14 var dirs = matches[2]; 15 var filename = matches[3]; 16 var label = matches[4]; 17 18 alert( www + " " +dirs + " "+filename + " " + label ); 19 20 }
- 正则替换