代码之家  ›  专栏  ›  技术社区  ›  SyntaxError

正则表达式:空格之间的匹配词

  •  6
  • SyntaxError  · 技术社区  · 7 年前

    我试图用python中的正则表达式做一些相当简单的事情……至少我是这么想的。

    例子:

    "WordA WordB WordC-WordD WordE"
    

    WordA WordB WordE .

    (?<=(?<=^)|(?<=\s))\w+(?=(?=\s)|(?=$))
    

    我想我可以从 (?<=\s|^) 但这似乎不可能,因为“向后看需要固定宽度的图案”。

    1 回复  |  直到 7 年前
        1
  •  9
  •   Wiktor Stribiżew    7 年前

    (?<=^|\s) 在PCRE、Java和Ruby中完全有效(并且.NET正则表达式支持无限宽的查找模式)。

    使用

    (?<!\S)\w+(?!\S)
    

    它将匹配1个或多个用空格或字符串开头/结尾括起来的文字字符。

    请参阅 regex demo

    图案细节 :

    • (?<!\S)
    • \w+ -1个或多个文字字符
    • (?!\S)