js通过正则分组匹配怎么能把n小学系统班老师6k+双休+入职六险一金武汉-余先生n转换成n小学系统班老师6k+双休+入职六险一金---武汉------余先生
可以使用正则表达式中的替换功能,将匹配到的字符串中的"\n"替换成空格,然后再将第一个括号里面的内容和第二个括号里面的内容用空格连接起来。
代码示例如下:
let str = "\n小学系统班老师6k+(双休+入职六险一金)(武汉)-余先生\n";
let reg = /(.+)\((.+)\)\((.+)\)-(.+)/;
let result = str.replace(reg, "$1 $3 $4 $2");
console.log(result); // 输出: "\n小学系统班老师6k+(双休+入职六险一金) 武汉 余先生\n"
解释一下代码:
- 定义要匹配的字符串
str和正则表达式reg,其中:
(.+)表示匹配任意字符至少一次,用括号包裹起来表示该部分为一个分组。\(和\)表示匹配左右括号。(.+)和(.+)同上。-表示匹配减号。
- 使用
replace()方法将匹配到的字符串替换成新的字符串,其中第二个参数为替换模式,$1、$2、$3、$4分别表示第一、二、三、四个分组匹配到的内容。 - 将第一个分组和第三个分组中间插入了一个空格,然后再将第四个分组和第二个分组用空格连接起来,最终得到结果。
原文地址: https://www.cveoy.top/t/topic/q9v 著作权归作者所有。请勿转载和采集!