bitter fear 2022-12-12 20:28 采纳率: 0%
浏览 18

JavaScript 正则表达式无法替换内容

正则表达式无法替换原本的内容

音乐软件识别按键需要左右都有空格,括号内和括号外要一致

 var all = ` qq zz aa
 ff. gg. gg. hh.

 (  xx nn ss ff hh ).-  (  xx nn ss ff hh ). (  xx nn ss ff hh )--  dd. ff. gg. hh.

 (  zz nn aa ff jj ).-  (  zz nn aa ff jj ). (  zz nn aa ff jj )-- 

 (  zz bb mm dd jj )--  (  zz bb mm dd jj )--  (  zz vv nn aa ff hh )--  (  zz vv nn aa dd hh )-- 

 (  zz aa dd gg )-  (  bb hh )-  (  bb dd )-  (  xx vv bb mm gg )-  bb-  (  bb hh )-  (  nn ss )-  (  vv mm gg )- 

 (  zz aa dd gg )-  (  zz hh )-  (  bb dd )-  (  cc aa gg )-  zz-  (  cc bb )-  zz-  (  cc bb mm gg )- 

 xx-  (  vv bb hh )-  (  bb ss )-  (  xx bb mm gg )-  mm-  (  xx vv bb )-  bb-  (  xx bb ff )- 

 (  zz aa dd )-  (  bb ff )-  (  bb dd gg )-  (  cc bb hh )-  (  cc gg jj )-  (  aa dd qq )-  (  cc ff hh )-  (  nn aa qq )- 

 (  xx ss ff jj )-  xx. qq. (  vv ss ww )-  (  bb mm ss gg )--  vv-  (  xx bb mm )-  vv- 

 (  zz aa dd gg )-  (  bb hh )-  (  bb dd )-  (  cc aa gg )-  zz-  aa-  zz-  (  mm dd gg jj )- 

 mm-  (  mm qq )-  (  mm gg )-  (  mm dd jj )-  cc-  (  aa dd )-  vv-  (  mm ss )- 

 (  vv ss jj )-  (  aa dd qq )-  (  vv dd hh )-  (  aa dd jj ). gg-  (  mm ss ff hh ).-  (  mm ss ff )-  (  vv gg )- 

 (  cc bb mm dd ).-  ss. (  zz bb mm dd )-  (  xx mm ss ff gg )--  bb-  (  vv bb mm )-  bb- 

 (  zz aa dd gg )-  (  zz hh )-  (  bb dd )-  (  cc aa gg )-  zz-  (  cc bb )-  bb-  (  cc bb )- 

 (  vv nn aa ff )-  gg-  ss-  (  vv nn aa ff )--  ff-  (  bb mm ss gg )-- 

 (  zz cc bb ss )----  aa----  `

需要将括号外的后两位符号添加到括号内每一个数后面例如:

( xx nn ss ff hh ).- ==> ( xx.- nn.- ss.- ff.- hh.- ).-

我写的正则表达式是这样子的

// 选取到括号内的和后两位
var re = /(\()(\s*\w*)*(\))(.)(\S?)/;

var b = /(\()/g;
var c = /[a-z][a-z]/g
var su = all.match(b).length;
var target,neiron,tgget;

// 选取到目标
 target = all.match(re)[0];

//获取目标的后两位
Symbol = target.slice(-2);

neiron = /(\w)(\w)/g;

//获取目标的目标数字
 tgget = target.match(neiron)+Symbol;
//替换一个数字
target = target.replace(neiron,tgget);

运行结果target 缺不是这个样子

tgget =  xx,nn,ss,ff,hh.-
neiron =  /(\w)(\w)/g
target =  (  xx,nn,ss,ff,hh.- xx,nn,ss,ff,hh.- xx,nn,ss,ff,hh.- xx,nn,ss,ff,hh.- xx,nn,ss,ff,hh.- ).-
Symbol =  .-

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-12-13 09:27
    关注

    了解一下有限状态自动机

    评论

报告相同问题?

问题事件

  • 创建了问题 12月12日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?