匹配除制表符后的所有内容

时间:2014-09-16 13:52:39

标签: python regex

所以,我正在尝试使用如下所示的行来解析文件:

FIB cum + coni, 3x  toen, omdat, hoewel

我想用一个看起来像这样的正则表达式来解析这些:

r"^FIB\t()\t()$"

其中first()匹配“cum + coni,3x”,第二个()匹配“toen,omdat,hoewel”

要做这样的事情,我想我需要匹配大括号中不是制表符或换行符的所有内容,所以基本上我的问题归结为:

使用python re模块,正则表达式将匹配除tab和换行符之外的所有内容吗?

2 个答案:

答案 0 :(得分:0)

^FIB\s*(.*?)(?<=\s)\s(.*)$

你可以尝试这个。这给了所需的组。参见演示。

http://regex101.com/r/iO1uK1/7

答案 1 :(得分:0)

不是标签\t或换行\n的所有内容都是[^\t\n],因此您的正则表达式会变为:

r"^FIB\t([^\t\n]+)\t([^\t\n]+)$"

我在字符类后添加了+,以允许多个字符不是制表符或换行符。

您可以将\n替换为\r\r\n,具体取决于您的平台。