寻找一些有创意的想法。这适用于 javascript 风格的正则表达式。
当我说“切换”时,我指的是可以执行以下操作的单个正则表达式和单个捕获引用替换字符串:
'my-on-state'.replace(/MYSTERY/, '???') // => 'my-off-state'
'my-off-state'.replace(/MYSTERY/, '???') // => 'my-on-state'
给定一个 if 和两个正则表达式,这将是微不足道的;但是,只有 1 个正则表达式,我不确定如果没有某种方法来“捕获”源文本中实际上不存在的组,如何做到这一点——有没有办法做到这一点,也许使用前瞻捕获?
(对于那些想知道的人:这不是实际的 javascript 代码,它是针对 VSCode 键绑定参数的;您可以在变量引用中使用单个正则表达式并替换,所以我必须尽可能地塞进那个单一的正则表达式。 )