为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个正则表达式分组替换的问题

请教一个正则表达式分组替换的问题

MMTTMM 2018-10-20 14:11:17
我想过滤下面几种格式的文件:fileName.ext'fileName.ext"fileName.ext?md5'fileName.ext?md5"统一替换为fileName.ext?newmd5' or fileName.ext?newmd5"目前正则写好了,但是我需要获取他结尾时候用的是'还是"时碰到了问题:我的正则表达式如下(sg可能有转义处理,就直接塞到到代码了,代码高亮请忽略):fileName.ext(['"]|\?[0-9a-zA-Z]*?(['"]))分组是提取出来了,但是因为使用了分支,存储'or"的分组可能是第1组or第3组(从0组开始)但是后面用js replace的时候,需要$1 or $3,但是不确定,所以不清楚哪个分支。这种情况应该怎么处理呢?我有另外一种方式是从开头的字符串匹配。(['"]).*?filename.ext(\1|\?[0-9-a-zA-Z]*?\1)有没有什么更好的方法吗?比如不改变原先正则的情况下,选择需要的分组?或者在原正则上简单修改下,能实现?谢谢大家~
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 444 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信