【问题标题】:Compose couple of regular expression in vscode snippets在 vscode 片段中编写几个正则表达式
【发布时间】:2019-07-04 19:15:36
【问题描述】:

我尝试基于文件名构建构建 vscode sn-ps。例如:从文件first.actions.ts 我通过const ${TM_FILENAME_BASE/(.*?).actions/${1:/capitalize}/g} = 42; 生成First = 42;

但是,如果文件名是例如first-module.actions.ts 我正在生成 First-Module = 42;,此代码包含语法错误。我要const FirstModule = 42;

我正在寻找一些技巧来合并正则表达式以切割 .actions 并删除所有 - 标记。

【问题讨论】:

    标签: visual-studio-code vscode-settings vscode-snippets


    【解决方案1】:

    试试:

    "const ${TM_FILENAME_BASE/([^-]*)-?(.*)\\.actions/${1:/capitalize}${2:/capitalize}/g} = 42;"

    1. 捕获直到第一个-的所有内容,

    2. 忽略可选的-,并且

    3. .actions之后捕获任何内容

    假设你想要first-module.actions.ts => FirstModule

    请注意,您的扩展分隔符 . 应该进行双重转义才能正常工作。

    【讨论】:

    • 是的,就是这样。非常感谢:)
    • 好,希望你没有像first-module-more.actions.ts 这样的东西——也就是说,多个连字符——它不能用于多个连字符,尽管我试图找到一个正则表达式来做到这一点不成功。如果有必要,可以使用运行两个 sn-ps 的简单宏来处理这些问题。
    • 是的,3 kebab-case words 不起作用,但很少见,因此可以手动解析。再次感谢,你帮了我很多!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多