【问题标题】:ruby match two strings based 4 different criteria [closed]ruby 根据 4 个不同的标准匹配两个字符串 [关闭]
【发布时间】:2014-03-08 10:25:09
【问题描述】:

我正在创建一个快速搜索 Rails 应用程序功能。任何有关如何构建以下匹配规范的帮助将不胜感激。

基本上,当用户输入名称进行搜索时,他们应该根据以下匹配条件获得结果。

accept match on first 3 chars (e.g. Jon for Jones)
reject match on less than 3 chars (e.g. Jo for Jones)
accept exact match for 2 char author name (e.g. Li for Li)
reject exact match on 1 char author name
reject mismatch on chars beyond 3 (e.g. reject Jonis for Jones)

这可以用正则表达式完成吗?

【问题讨论】:

  • 标题说四个条件,但你有五个。第一个和第五个矛盾。第二个和第三个也矛盾。

标签: ruby regex pattern-matching


【解决方案1】:
matchto = 'Jones'.downcase
input = 'Jon'.downcase

matchto.start_with?(input) && 1 < input.length &&
    ( input.length == matchto.length || 2 < input.length )

【讨论】:

    猜你喜欢
    • 2017-02-05
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2019-02-25
    • 1970-01-01
    相关资源
    最近更新 更多