Python正则表达式匹配单词之前<

时间:2014-02-14 18:31:17

标签: python regex

所以我想要匹配这样的东西 -

foo <TEST>something something </TEST> blah

我想要一个让我成为foo的正则表达式,但不会得到我的东西。我正在考虑使用像这样的正则表达式

(\w\s)<

有一个负向前瞻,但在这种情况下我不确定如何使用它。

其他案例 -

something something foo <TEST> something something </TEST> blah 

3 个答案:

答案 0 :(得分:5)

您可以尝试这样的事情:

\w+(?=\s*<[^/])

regex101 demo

正向前瞻(?=\s*<[^/])可确保有可选空格后跟<,后面不会跟/

\w+     matches one or more \w
(?=     beginning of positive lookahead
  \s*   optional spaces
  <     a < character
  [^/]  not a / character
)       end of positive lookahead

答案 1 :(得分:1)

Negetive look-ahead会很好。

(\S+)\s*<(?!/)

答案 2 :(得分:0)

添加我自己的版本

^(?P<Word>\S*\W)*<

在行动http://regex101.com/r/tS6hM2

中查看