为什么这样的代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - "
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
给我们“是!”
但是此代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - F"
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
什么也没给我们?
如何知道某个字符串是否包含另一个字符串(带有空格或其他符号,例如“-”或“()”)?
答案 0 :(得分:2)
"PS02 - "
有效似乎可以工作,因为它实际上仅匹配子字符串"PS02 "
。这是因为-
中的(space)-
表示“匹配(空格)零次或多次,但次数尽可能少”。
魔术字符^$()%.[]*+-?
必须每个前缀(转义)前加%
...,因此上述每种情况下的正确模式都是"PS02 %- "
和"PS02 %- F"
。 / p>