gpt4 book ai didi

regex - 匹配 *.ts 但不匹配 *.d.ts 的 Webpack 正则表达式测试

转载 作者:行者123 更新时间:2023-12-01 02:49:08 26 4
gpt4 key购买 nike

我正在使用 Webpack (2.3.3) 在 TS 中构建我的 Aurelia 应用程序。但是,由于我使用的是 includeAll AureliaPlugin (2.0.0-rc.2) 的选项,ts-loader (2.0.3) 提示没有任何输出的 d.ts 文件不发出任何输出。

这是我对 ts 文件的规则:{ test: /\.ts$/, include: /ClientApp/, use: "ts-loader" }
我需要以一种匹配名为 *.ts 的文件的方式更改测试值,但 *.d.ts 除外。你能帮我吗?

注意:我看到已经有一个类似的正则表达式问题,但那个对我不起作用。

最佳答案

匹配字符串与 .ts 的正则表达式最后但不是.d.ts

/(^.?|\.[^d]|[^.]d|[^.][^d])\.ts$/

regex demo .它是一种 POSIX 风格的表达式,适用于任何正则表达式引擎。

详情
  • (^.?|\.[^d]|[^.]d|[^.][^d]) - 任何一个:
  • ^.? - 字符串开头 + 任何可选字符
  • \.[^d] - 一个点和任何字符,但 d
  • [^.]d - 除了 . 之外的任何字符和 d
  • [^.][^d] - 除了 . 之外的任何字符然后是除 d 以外的任何字符(这样,我们匹配除 .d 之外的所有内容)
  • \. - 文字点
  • ts$ - ts在字符串的末尾。

  • 或者,使用基于前瞻的解决方案:
    /^(?!.*\.d\.ts$).*\.ts$/

    another demo

    详情 :
  • ^ - 字符串开头
  • (?!.*\.d\.ts$) - 字符串不能以 .d.ts 结尾
  • .* - 任何 0+ 个字符直到
  • \.ts$ - .ts在字符串的末尾。

  • 但是,您可以探索 this SO thread 中描述的另一个选项。 .

    关于regex - 匹配 *.ts 但不匹配 *.d.ts 的 Webpack 正则表达式测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43490499/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com