regex - 如何匹配 ".js"和 ".css"但排除 ".min.js"和 ".min.css"?

标签 regex

我尝试了以下但没有成功:

\.(?!min)(js|css)$
Regex 101
我对负前瞻不是很熟悉,所以我可能做错了什么。
如何修改我的正则表达式以匹配 .js.css但排除 .min.js.min.css ?

最佳答案

你说得对,除了

  • 你需要把它放在点之前
  • 您需要使用 lookbehind而不是前瞻

  • (?<!\.min)\.(js|css)$

    使用前瞻,这会更复杂,但如果匹配完整的文件名,您可以管理它:

    ^(.{0,3}|.*(?!\.min).{4})\.(js|css)$

    (少于 4 个字符的字符串或最后 4 个字符不是 .min 的字符串,这不是很可怕吗?)

    关于regex - 如何匹配 ".js"和 ".css"但排除 ".min.js"和 ".min.css"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728312/

    相关文章:

    java - 在数字第一次出现时分割字符串的最有效方法?

    javascript - 如何在 Javascript 中正则表达式两个标记之间的字符串?

    regex - sed:仅打印匹配的组

    Javascript 将电话号码填充到 3 个输入文本框中,名称相同但没有 id

    mysql - 区分大小写

    php - 需要一个正则表达式来匹配特定的句子格式

    javascript - 正则表达式使用javascript获取多个模式之间的匹配文本

    regex - 在音译运算符中使用变量

    regex - git clean 排除正则表达式

    python - 如何使用 Python 使用正则表达式从 Word 文档中提取问题