Parser之外的部分参考http://swtch.com/~rsc/regexp/regexp2.html ,代码都模仿自http://code.google.com/p/re1/source/browse 。注意到正则表达式是operator-precedence grammar,可以用一个扩展的Shunting-Yard算法来解析,其中用了一些特殊构造处理后缀操作符和括号。
Parser之外的部分参考http://swtch.com/~rsc/regexp/regexp2.html ,代码都模仿自http://code.google.com/p/re1/source/browse 。注意到正则表达式是operator-precedence grammar,可以用一个扩展的Shunting-Yard算法来解析,其中用了一些特殊构造处理后缀操作符和括号。