gpt4 book ai didi

scala - 在 Parboiled 中匹配 {N,M} 个字符

转载 作者:行者123 更新时间:2023-12-01 03:43:10 24 4
gpt4 key购买 nike

怎么写规则

  • 至少 N 个字符 - 正则表达式 [a-z](2,}
  • 最多 N 个字符 - 正则表达式 [a-z](,5}
  • 从 N 到 M 个字符 - 正则表达式 [a-z]{3,10}

  • 在煮沸?

    最佳答案

    您可能正在寻找 times组合器。您可以使用 times带单Int (意思是完全重复规则 n 次)或使用 (Int, Int) (意思是重复 nm 次之间的规则)。您可以使用 times连同oneOrMore , zeroOrMore , ~ , 和 !想要的效果:

    //Matches regex "a{n,}"
    rule {
    n.times("a") ~ zeroOrMore("a") //match on n "a"s followed by zero or more "a"s (so at least n "a"s)
    }

    //Matches regex "a{,m}"
    rule {
    !(m.times("a") ~ oneOrMore("a")) //do not match on m "a"s followed by one or more "a" (so at most m "a"s)
    }

    //Matches regex "a{n, m)"
    rule {
    (n to m).times("a") ~ EOI
    }

    关于scala - 在 Parboiled 中匹配 {N,M} 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525960/

    24 4 0
    文章推荐: jquery - 使用 jQuery 选择
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com