代码之家  ›  专栏  ›  技术社区  ›  Code Guy

如何将文本与介于两者之间的任何其他字符进行匹配

  •  -1
  • Code Guy  · 技术社区  · 8 年前

    我想匹配一个文本,即使

    用户输入

    BackOrdered
    BAck ordered
    B ack ordered
    Back-ordered
    backordered
    BaCkOrdeRed
    

    或任何具有类似含义的

    我试过了

    =REGEXMATCH("Back ordered", "^[a-z A-Z]*$") 
    

    但我的正则表达式也有一些是真的。只有当存在“backordered”单词时,我才需要得到true(可以包含ie b a c k o r d e r e d之间的空格应该为true)

    2 回复  |  直到 8 年前
        1
  •  1
  •   Sweeper    8 年前

    尝试以下操作:

    ^[\s-]*b[\s-]*a[\s-]*c[\s-]*k[\s-]*o[\s-]*r[\s-]*d[\s-]*e[\s-]*r[\s-]*e[\s-]*d$
    

    基本上是这样的:

    ^backordered$
    

    但是有 [\s-]* (零个或多个空格或连字符)添加在每个字母之间。

    您应该启用不区分大小写选项。

    Try it here.

        2
  •  1
  •   Gary's Student    8 年前

    如果您的环境是Excel且用户输入位于单元格中 A1级 ,然后在单元格中 地下一层 输入:

    =LOWER(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""))="backordered"
    

    enter image description here

    推荐文章