微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何定义忽略前导空格的 Regexp::Grammar 规则?

如何解决如何定义忽略前导空格的 Regexp::Grammar 规则?

来自 Regexp::Grammars 文档:

令牌和规则的区别在于令牌处理任何 它里面的空格完全是一个普通的 Perl 正则表达式 将。也就是说,如果令牌中的空格序列被忽略 /x 修饰符有效,否则匹配相同的文字序列 空格字符(如果 /x 无效)。

在规则中,大多数空格序列被视为匹配 隐式子规则 <.ws>自动预定义匹配 可选的空格(即 \s*)。

...

换句话说,一个规则如:

<rule: sentence>   <noun> <verb>
               |   <verb> <noun>

相当于添加了非捕获空白匹配的标记

<token: sentence>  <.ws> <noun> <.ws> <verb>
                |  <.ws> <verb> <.ws> <noun>

有没有办法让规则忽略前导隐式 <.ws>?在上面的例子中,它等价于:

<token: sentence>  <noun> <.ws> <verb>
                |  <verb> <.ws> <noun>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。