regex - Ragel:如何通过匹配不同的表达式来返回不同的值
问题描述
我正在寻找一个通过匹配不同表达式的输入字符串来返回不同整数值的函数。
这是它可能的方式,但语法:
package main
func MatchType(data []byte) int {
%% machine scanner;
%% write data;
cs, p, pe, eof := 0, 0, len(data), len(data)
_ = eof
%%{
main := ( 0..120 '-first-' ) @{ return 1 } ;
main := ( 0..120 '-second-' ) @{ return 2 } ;
write init;
write exec;
}%%
return -1
}
有人可以请教吗?
解决方案
%%{
action a1 { return 8; }
action a2 { return 10; }
main := ( 0..120 '-first-' $s1 | 0..120 '-second-' $s2 ) @{ return 0 } ;
write init;
write exec;
}%%
推荐阅读
- sql - 如何在 select 语句中执行 Case 语句?
- model - 如何在 laravel 等效查询中实现 hasOne 和 hasMany 模型关系
- postgresql - PSQL 防止 DB 转储上的“COMMENT ON”
- c# - Xamarin.Forms Firebasepushnotification 插件 OnNotificationOpened 事件导致应用程序为 android 重新启动
- python - 为什么我不能在 main.py 中使用 kivy 添加图像?
- swift - Firebase 实时数据库 .child 与 .reference - 加上 .database()
- reactjs - 如何在redux react中向现有数组添加数字
- database - 在 WSL 中访问现有的 windows postgresql 数据库
- mongodb - Mongo $aggregate 和 $filter 没有按预期工作
- c - 特定数量的整数