Lua 中的多行模式是什么?
What is multi line pattern in Lua?
我要匹配多行
/add val1::val2
并通过此模式工作
^/add +(.+)::+(.+)$
但不能在多行中工作
例如:
/add line1
line2
::
linexx
lineYY
测试了这个模式但没有用
^/add ([%w%s]*)::([%w%s]*)
.
匹配任何字符,包括 \n
。由于您不想匹配多行字符串,因此明确排除 \n
,即使用 [^\n]
替换 .
:
^/add +([^\n]+)::+([^\n]+)$
测试:
local str1 = '/add val1::val2'
local str2 = [[/add line1
line2
::
linexx
lineYY]]
local pattern = '^/add +([^\n]+)::+([^\n]+)$'
print(str1:match(pattern))
print(str2:match(pattern))
我要匹配多行
/add val1::val2
并通过此模式工作
^/add +(.+)::+(.+)$
但不能在多行中工作 例如:
/add line1
line2
::
linexx
lineYY
测试了这个模式但没有用
^/add ([%w%s]*)::([%w%s]*)
.
匹配任何字符,包括 \n
。由于您不想匹配多行字符串,因此明确排除 \n
,即使用 [^\n]
替换 .
:
^/add +([^\n]+)::+([^\n]+)$
测试:
local str1 = '/add val1::val2'
local str2 = [[/add line1
line2
::
linexx
lineYY]]
local pattern = '^/add +([^\n]+)::+([^\n]+)$'
print(str1:match(pattern))
print(str2:match(pattern))