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



是否可以重用正则表达式中定义的逻辑两次,例如

我想匹配是否将日期范围定义为mon-wedmonday-friday.

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

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

它适用于montuesday

但我想在中间-重用它

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

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)

我认为这应该有效

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

您可以在此处查看更多信息

最新更新