Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Regex Ragel:如何通过匹配不同的表达式来返回不同的值_Regex_State Machine_Regular Language_Ragel - Fatal编程技术网

Regex Ragel:如何通过匹配不同的表达式来返回不同的值

Regex Ragel:如何通过匹配不同的表达式来返回不同的值,regex,state-machine,regular-language,ragel,Regex,State Machine,Regular Language,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

我正在寻找一个函数,它通过为不同的表达式匹配输入字符串来返回不同的整数值

下面是它的用法,但是语法:

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;
  }%%