lua正则判断特定字符串是否在文本中
local text = "Hello, world!"
local pattern = "world"
if string.find(text, pattern) then
print("字符串包含指定的模式")
else
print("字符串不包含指定的模式")
end
if string.match(text, pattern) then
print("字符串包含指定的模式")
else
print("字符串不包含指定的模式")
end
现在要判断 .php、.asp、select是否在uri中
local uri = "/path/to/file.php?query=select%20*%20from%20users"
local patterns = { "%.php", "%.asp", "select" }
local function containsPattern(uri, patterns)
for _, pattern in ipairs(patterns) do
if string.find(uri, pattern) then
return true
end
end
return false
end
if containsPattern(uri, patterns) then
print("URI 包含指定的模式")
else
print("URI 不包含指定的模式")
end
有勇气的牛排
[https://www.couragesteak.com/article/475](
<h2><a id="lua_0"></a>lua正则判断特定字符串是否在文本中</h2>
<pre><div class="hljs"><code class="lang-lua"><span class="hljs-keyword">local</span> text = <span class="hljs-string">"Hello, world!"</span>
<span class="hljs-keyword">local</span> pattern = <span class="hljs-string">"world"</span> <span class="hljs-comment">-- 正则表达式模式</span>
<span class="hljs-comment">-- 使用 string.find</span>
<span class="hljs-keyword">if</span> <span class="hljs-built_in">string</span>.<span class="hljs-built_in">find</span>(text, pattern) <span class="hljs-keyword">then</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"字符串包含指定的模式"</span>)
<span class="hljs-keyword">else</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"字符串不包含指定的模式"</span>)
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 使用 string.match</span>
<span class="hljs-keyword">if</span> <span class="hljs-built_in">string</span>.<span class="hljs-built_in">match</span>(text, pattern) <span class="hljs-keyword">then</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"字符串包含指定的模式"</span>)
<span class="hljs-keyword">else</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"字符串不包含指定的模式"</span>)
<span class="hljs-keyword">end</span>
</code></div></pre>
<p>现在要判断 .php、.asp、select是否在uri中</p>
<pre><div class="hljs"><code class="lang-lua"><span class="hljs-keyword">local</span> uri = <span class="hljs-string">"/path/to/file.php?query=select%20*%20from%20users"</span>
<span class="hljs-comment">-- 定义要匹配的模式</span>
<span class="hljs-keyword">local</span> patterns = { <span class="hljs-string">"%.php"</span>, <span class="hljs-string">"%.asp"</span>, <span class="hljs-string">"select"</span> }
<span class="hljs-comment">-- 检查 URI 是否包含任意一个模式</span>
<span class="hljs-keyword">local</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">containsPattern</span><span class="hljs-params">(uri, patterns)</span></span>
<span class="hljs-keyword">for</span> _, pattern <span class="hljs-keyword">in</span> <span class="hljs-built_in">ipairs</span>(patterns) <span class="hljs-keyword">do</span>
<span class="hljs-keyword">if</span> <span class="hljs-built_in">string</span>.<span class="hljs-built_in">find</span>(uri, pattern) <span class="hljs-keyword">then</span>
<span class="hljs-keyword">return</span> <span class="hljs-literal">true</span>
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">return</span> <span class="hljs-literal">false</span>
<span class="hljs-keyword">end</span>
<span class="hljs-comment">-- 使用函数进行检查</span>
<span class="hljs-keyword">if</span> containsPattern(uri, patterns) <span class="hljs-keyword">then</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"URI 包含指定的模式"</span>)
<span class="hljs-keyword">else</span>
<span class="hljs-built_in">print</span>(<span class="hljs-string">"URI 不包含指定的模式"</span>)
<span class="hljs-keyword">end</span>
</code></div></pre>
<p>有勇气的牛排</p>
<p>[https://www.couragesteak.com/article/475](</p>
留言