1.以下代码的执行后,str 的值是:
var str = "Hellllo world";
str = str.replace(/(l)1/g, '$1'); // Hello world
对于正则表达式 /(l)1/g,正则表达式中的小括号"()"。是代表分组的意思。 如果再其后面出现1则是代表与第一个小括号中要匹配的内容相同。所以该正则表达式可以表示成/(ll)/g
而对于第二个参数$1,表示用第一个分组的内容 l 对匹配到的部分进行替换(即 ll 替换成 l ),同时正则表达式有g表示全局匹配,所以4个ll被替换成2个ll。
-----------------------------------------------------------------------
2.JavaScript RegExp 对象有 3 个方法:test()、exec() 和 compile()。
(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 true ,否则返回 false;
(2) exec() 方法用来检索字符串中与正则表达式匹配的值。exec() 方法返回一个数组,其中存放匹配的结果。如果未找到匹配的值,则返回 null;
(3)compile() 方法可以在脚本执行过程中编译正则表达式,也可以改变已有表达式。
转载自http://www.itxueyuan.org/view/6441.html
(1) test() 方法用来检测一个字符串是否匹配某个正则表达式,如果匹配成功,返回 true ,否则返回 false;
(2) exec() 方法用来检索字符串中与正则表达式匹配的值。exec() 方法返回一个数组,其中存放匹配的结果。如果未找到匹配的值,则返回 null;
(3)compile() 方法可以在脚本执行过程中编译正则表达式,也可以改变已有表达式。
转载自http://www.itxueyuan.org/view/6441.html
match是支持正则表达式的String对象的方法
----------------------------------------------------------------
3. 以下代码执行后,result 的值是:
var result = "75team2017".match(/d+w*/g);
var result = "75team2017".match(/d+w*/g);
["75team2017"]
d | 匹配一个数字,等价于[0-9] |
w | 匹配字母、数字或者下划线,等价于 [A-Za-z0-9_] |
+ | 匹配前面一个表达式 1 次或者多次 |
* | 匹配前一个表达式 0 次或多次 |
/g | 全局匹配 |
^是正则表达式匹配字符串开始位置
$是正则表达式匹配字符串结束位置