一、正则表达式匹配 RegExp
new RegExp(pattern, attributes);
/ pattern/attributes
参数
参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。
参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m"。 g --全局匹配;i--忽略大小写匹配;m--多行匹配。
需要转译的字符
二、replace()
stringObject.replace(regexp/substr,replacement)
例子:
var str = "hello world,你好 world";
var old = "world";
var obj = "世界";
str = s1.replace(new RegExp(old,'g'),obj);
alert(str);
//输出: hello 世界,你好 世界
三、需要转译的stringObject.replace(regexp/substr,replacement)实例
该例子中,右斜杠 \/ 用 1357 替代 ; \( 用 字符串 lkh 替换 \) 用字符串 rhk 替代 , 最后再替换回去。
var planRoutStr = '第一个目标842-深圳滨海机楼-1_0-16-1-Y1C401-1(RX1/TX1)-/odu4=1第二个目标842-深圳滨海机楼-1_0-16-1-Y1C401-1(RX1/TX1)-/odu4=1';
var old = "842-深圳滨海机楼-1_0-16-1-Y1C401-1(RX1/TX1)-/odu4=1";
var obj = "841-深圳信息枢纽大厦-1_0-14-1-Y1C401-1(RX1/TX1)-/odu4=1";
planRoutStr = planRoutStr.replace(/\//g, '1357').replace(/\(/g, 'lkh').replace(/\)/g, 'rkh');
old = old.replace(/\//g, '1357').replace(/\(/g, 'lkh').replace(/\)/g, 'rkh');
obj = obj.replace(/\//g, '1357').replace(/\(/g, 'lkh').replace(/\)/g, 'rkh');
planRoutStr = planRoutStr.replace( new RegExp(old,'g'), obj ).replace( new RegExp('1357','g'),'/').replace(new RegExp('lkh','g'), '(').replace(new RegExp('rkh','g'), ')');
alert(planRoutStr);
//输出:
//第一个目标841-深圳信息枢纽大厦-1_0-14-1-Y1C401-1(RX1/TX1)-/odu4=1第二个目标841-深圳信息枢纽大厦-1_0-14-1-Y1C401-1(RX1/TX1)-/odu4=1