Javascript正则表达式小例

来源:互联网 发布:js代码的运行过程 编辑:程序博客网 时间:2024/05/29 11:02

var strlong = "happy new year3344中ab545国5ab人good098cd1234ABcd5678aabb\n";
var strmyregexp = /[^abcd\d]/gim;
var strnew = strlong.replace(strmyregexp,"日本人");
document.write("origin string is: <br />" + strlong + "<br />");
document.write("after used the regexp: <br />" + strnew);

输出:

origin string is:
happy new year3344中ab545国5ab人good098cd1234ABcd5678aabb
after used the regexp:
ha日本人y new year3344中ab545国5ab人g日本人d098cd1234ABcd5678aabb

如果加上后向引用符\1,即将正则表达式var strmyregexp = /[^abcd\d]/gim;改为var strmyregexp = /([^abcd\d])\1/gim;

结果将输出:

origin string is:
happy new year3344中ab545国5ab人good098cd1234ABcd5678aabb
after used the regexp:
ha日本人y new year3344中ab545国5ab人g日本人d098cd1234ABcd5678aabb

因为\1会引用前面的编组一次,一共就是两次,结果就会匹配到重复的字符。如happy中的pp,good中的oo。
原创粉丝点击