Sublime Snippet,如果没有正则表达式匹配使用 "null" 字符串

Sublime Snippet, if no regex match use "null" string

我正在尝试写一个片段。为此 post 我超级简化了它。如果我 运行 它在这个选择上:

arg1

代码段应输出:

doFunc('arg1', 'null');

如果我运行它在这个选择上:

arg1, arg2

代码段应输出

doFunc('arg1', arg2);

如果没有找到正则表达式匹配项,我不知道如何使用 null 字符串。这是我目前所拥有的:

 doFunc('${SELECTION/([^,]+)(,.*)?//}', ${SELECTION/([^,]+)(,.*)?//});

所以这里的问题是${SELECTION/([^,]+)(,.*)?//}我想像大专一样 ? : null这可能吗?

谢谢

Sublime Text Snippets 使用了 Boost 库,它实际上支持 format part 中的三元运算符。因此,您可以像三元运算符一样编写 (?{2}():'null')

如果您将代码段更改为此,它将具有指定的行为:

doFunc(${SELECTION/^([^,]+)(?:,\s*(.*))?/'', (?{2}():'null')/});