寻找一些创意。这适用于javascript风格的正则表达式。
当我说"切换"时,我的意思是单个正则表达式和单个capture-referencing-replacement-string,它可以执行以下操作:
'my-on-state'.replace(/MYSTERY/, '???') // => 'my-off-state'
'my-off-state'.replace(/MYSTERY/, '???') // => 'my-on-state'
鉴于if和两个正则表达式,这将是微不足道的;然而,只有1个正则表达式,我不确定如果没有某种方式可以做到这一点,并且#34;捕获"一个实际上并不存在于源文本中的组 - 有没有办法做到这一点,也许是使用超前捕获?
(对于那些想知道:这不是真正的javascript代码,它是VSCode键绑定参数;你在变量引用中允许单个正则表达式和替换,所以我很高兴我无论如何都要塞进那个单一的正则表达式。)
答案 0 :(得分:1)
“您可以将我的问题归结为“是否有一个正则表达式, replace语句,将字符串“ apple”替换为“ banana”,并且 “香蕉”和“苹果””
“用于VSCode键绑定参数”
您无需详细解释,但听起来您需要有条件的替换-您可以在vscode代码段中进行替换:
stillLoading(false)
或
{
"key": "shift+alt+y", // whatever keybinding you like
"command": "editor.action.insertSnippet",
"args": {
"snippet": "${TM_SELECTED_TEXT/(apple)|(banana)/${1:+banana}${2:+apple}/g}"
// if you would rather leave the snippet in a snippet file use this version
// and the snippet that follows below
// "name": "Apple <=> Banana"
},
// "when": "editorTextFocus && editorHasSelection"
},