代码之家  ›  专栏  ›  技术社区  ›  Adrian rohit chauhan

用于在Swift中带有通配符的清晰单行词的正则表达式

  •  0
  • Adrian rohit chauhan  · 技术社区  · 8 年前

    假设我有一个文本文件,每个单词都有换行符,如下所示:

    pucker
    tuckered
    duckerdinger
    sucker punch
    

    我想得到每个包含“cker”的单词,长度为1到8个字符。

    我正试图使用这句话 ^..cker..{1,8} 作为我的正则表达式字符串。我得到的只是模式的部分匹配(一个Mac应用程序),但是 Regex101.com's ^(..cker..) 还有大量其他变体。

    我搞砸了什么?我该怎么解决?我想做的事情似乎非常简单,但我浪费的时间比我愿意承认的要多。

    更新:

    "\\b..cker.." ,但我只能得到正好8个字符长的单词。我想捕捉包含“cker”的单词,即第3、4、5和6个字母,同时捕捉长达8个字符的单词。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Gurmanjot Singh    8 年前

    试试这个正则表达式:

    \b(?=.*cker)[a-zA-Z]{1,8}\b
    

    Click for Demo

    说明: