0

假设 JS/CSS 文件的给定 URL 有时会以 '?v=xyz' 之类的结尾。

我如何在 PCRE 中捕获这两种情况,即对于

"/my/path/lib.js"

以下

"\.[js|css]$"

工作得很好。我想包括以下案例:

"/my/path/lib.js?v=1.4"

"/my/path/style.css?v=3"

我正在使用 Lua-5.1 PCRE 库

> rex_pcre = require "rex_pcre"
> return rex_pcre.find("/my/path/jquery.css", "\.(?:js|css)(?:$|\?)")
stdin:1: nothing to repeat (pattern offset: 17)
stack traceback:
        [C]: in function 'find'
        stdin:1: in main chunk
        [C]: ?
4

1 回答 1

1

你可以使用:

\.(?:js|css)(?:$|\?)

请注意,这[js|css]不是您认为的那样。它是一个字符类,它匹配 的一个字符cjs|,你想要一个组:(?:js|css)

于 2013-03-14T08:26:27.113 回答