假设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 lib
> 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]: ?
答案 0 :(得分:1)
您可以使用:
\.(?:js|css)(?:$|\?)
请注意[js|css]
不是您认为的那样。它是一个字符类,它匹配cjs|
中的一个字符,你想要一个组:(?:js|css)
。