是否可以重用正则表达式中定义的逻辑两次,例如
我想匹配是否将日期范围定义为mon-wed
或monday-friday
.
这是用于匹配一天表达式的正则表达式
/b((mon|tue(s)?|wed(nes)?|thur(s)?|fri|sat(ur)?|sun)(day)?)b/
它适用于mon
,tuesday
等
但我想在中间-
重用它
我想你不想只是复制和粘贴你想要重复的部分来形成这样的东西:
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
您可以在此处查看更多信息