首页 > 解决方案 > 是否可以两次重用正则表达式中定义的逻辑

问题描述

是否可以重复使用正则表达式中定义的逻辑两次

mon-wed如果 Day range 定义为or ,我想匹配 monday-friday

这是用于匹配一天表达式的正则表达式

/\b((mon|tue(s)?|wed(nes)?|thur(s)?|fri|sat(ur)?|sun)(day)?)\b/

它适用于montuesday

但我想-在中间重用它

标签: javascriptregex

解决方案


我猜你不想只是复制和粘贴你想要重复的部分来形成这样的东西:

\b((mon|tue(s)?|wed(nes)?|thur(s)?|fri|sat(ur)?|sun)(day)?)-((mon|tue(s)?|wed(nes)?|thur(s)?|fri|sat(ur)?|sun)(day)?)\b

您可以将它们存储为字符串,然后连接字符串,最后将它们传递给new RegEx(...)

var partToBeRepeated = "\\b((mon|tue(s)?|wed(nes)?|thur(s)?|fri|sat(ur)?|sun)(day)?)\\b"
var regex = new RegEx(partToBeRepeated + "-" + partToBeRepeated)

推荐阅读