gpt4 book ai didi

.net - 匹配短语的正则表达式,接受最少的字符

转载 作者:行者123 更新时间:2023-12-05 00:01:27 24 4
gpt4 key购买 nike

我想要一个正则表达式,从文本的开头开始,匹配一个单词。如果输入的确切单词匹配,但也会匹配某个最小数量的匹配字符,前提是任何其他字符也匹配 .

例如,如果我尝试匹配“San Francisco”,但愿意接受前五个字符足以在域中唯一标识它:

  • 匹配:旧金山
  • 匹配:三福
  • 匹配:圣弗拉
  • 匹配:旧金山blahblah
  • 失败:波士顿
  • 失败:圣地亚哥
  • 失败:San Fransisko
  • 失败:圣弗兰诺

  • 这几乎有效,但不正确地匹配最后两个:
    ^San Fr?a?n?c?i?s?c?o?

    我正在使用 .NET 正则表达式,但任何语言的解决方案都可以。

    最佳答案

    它必须是正则表达式吗?使用简单的字符串比较要容易得多。

    bool matches(string input, string phrase, int minimumLength)
    {
    int compareLength = Math.Min(input.Length, phrase.Length);
    return input.Length >= minimumLength
    && input.Substring(0, compareLength ) == phrase.Substring(0, compareLength );
    }

    如果它必须是正则表达式,那么......
    "^San F(r(a(n(c(i(s(c(o.*)?)?)?)?)?)?)?)?$"

    关于.net - 匹配短语的正则表达式,接受最少的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230207/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com