Nginx Lua 正则表达式匹配第一个词
Nginx Lua regex match first word
我尝试将正则表达式转换为 Lua 语言,来自
([a-zA-Z0-9._-/]+)
到
^%w+?([_-]%w+)
我想用“-”和“_”匹配第一个词:
mar_paci (toto totot)
toi-re/3.9
pouri marc (sensor)
Phoenix; SAGEM
结果:
marc_paci
toi-re
pouri marc
Phoenix
使用的代码:
value = string.match(ngx.var.args, "^%w+?([_-]%w+)")
在 ^%w+?([_-]%w+)
正则表达式中,我为可选字符串添加了 ?
字符。
你可以使用
^[%w%s_-]*%w
匹配
^
- 字符串开头
[%w%s_-]*
- 零个或多个字母数字、空格、_
或连字符
%w
- 字母数字字符。
查看 Lua demo:
local function extract(text)
return string.match(text, "^[%w%s_-]*%w")
end
print(extract("mar_paci (toto totot)"))
-- => mar_paci
print(extract("toi-re/3.9"))
-- => toi-re
我尝试将正则表达式转换为 Lua 语言,来自
([a-zA-Z0-9._-/]+)
到
^%w+?([_-]%w+)
我想用“-”和“_”匹配第一个词:
mar_paci (toto totot)
toi-re/3.9
pouri marc (sensor)
Phoenix; SAGEM
结果:
marc_paci
toi-re
pouri marc
Phoenix
使用的代码:
value = string.match(ngx.var.args, "^%w+?([_-]%w+)")
在 ^%w+?([_-]%w+)
正则表达式中,我为可选字符串添加了 ?
字符。
你可以使用
^[%w%s_-]*%w
匹配
^
- 字符串开头[%w%s_-]*
- 零个或多个字母数字、空格、_
或连字符%w
- 字母数字字符。
查看 Lua demo:
local function extract(text)
return string.match(text, "^[%w%s_-]*%w")
end
print(extract("mar_paci (toto totot)"))
-- => mar_paci
print(extract("toi-re/3.9"))
-- => toi-re