语法中§
有关方法 subparse 的主要文档,请参阅上下文
method subparse(, : = 'TOP', Capture() : = \(), Mu : = Mu, *)
与 方法 parse 完全相同,只是光标不必到达字符串的末尾即可成功。也就是说,它不必匹配整个字符串。
请注意,与 方法 parse 不同,subparse
始终返回 Match
,如果语法匹配失败,它将是一个失败的匹配(因此为假)。
say RepeatChar.subparse('bbbabb', :rule('start'), :args(\('b')));say RepeatChar.parse( 'bbbabb', :rule('start'), :args(\('b')));say RepeatChar.subparse('bbbabb', :rule('start'), :args(\('a')));say RepeatChar.subparse('bbbabb', :rule('start'), :args(\('a')), :pos(3));# OUTPUT:# 「bbb」# Nil# #<failed match># 「a」