Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua模式中的交替运算符是什么?_Lua_Lua Patterns - Fatal编程技术网

Lua模式中的交替运算符是什么?

Lua模式中的交替运算符是什么?,lua,lua-patterns,Lua,Lua Patterns,在正则表达式中,|用于替换。Lua模式中的对应字符是什么?首先,请注意Lua不是正则表达式;它们是自己的简单匹配语言(有不同的优点和缺点) 根据我上面链接的规范,以及,在Lua模式中没有交替操作符。要获得此功能,您需要使用更强大的Lua构造(如或)。另一个解决方法是:而不是: 苹果橙 写: [ao][pr][pa][ln][eg] 说明:匹配每个单词的交替字母。瞧 Lua在您不能使用的模式中没有替换(test1|test2)。您只能在多个字符中进行选择,例如[abcd]将匹配a,b,c或d,我将

在正则表达式中,
|
用于替换。Lua模式中的对应字符是什么?

首先,请注意Lua不是正则表达式;它们是自己的简单匹配语言(有不同的优点和缺点)


根据我上面链接的规范,以及,在Lua模式中没有交替操作符。要获得此功能,您需要使用更强大的Lua构造(如或)。另一个解决方法是:而不是:

苹果橙

写:

[ao][pr][pa][ln][eg]


说明:匹配每个单词的交替字母。瞧

Lua在您不能使用的模式中没有替换(
test1
|
test2
)。您只能在多个字符中进行选择,例如
[abcd]
将匹配
a
b
c
d

我将补充这个非常好的答案,我会说,有时您可以不使用LPEG或Lua正则表达式而不受惩罚-简单的“或”可能会起作用:
如果s:match(a)或s:match(b)然后…
通常,您还可以进行更一般的匹配,然后打开结果…:
localword=s:match(“%w+”),如果word==“foo”或word==“bar”,则。。。。其他的结束
我是从Arduino Regexp(基于Lua模式)的角度来回答这个问题的。我希望这个答案会包括一个我可以移植的解决方案。也可以看到它将匹配
arplg