在python中补充正则表达式

时间:2014-02-11 13:15:43

标签: python regex

我正在尝试获取与这两个正则表达式不匹配的所有字符串:

\d{2}[-]\d{2}[-]\d{4}

\d{2}[:]\d{2}

我尝试过使用:

/^((?!REGULAR_EXPRESSION_HERE).)*$/

但是不起作用。

任何人都知道应该怎么做?我不能使用python的re.split()函数,因为我正在使用Scrapy的正则表达式工具。

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

(?P<date>\d{2}-\d{2}-\d{4})|(?P<time>\d{2}:\d{2})

示例代码

#!/usr/local/bin/python

import re

text=("01-01-2014 13:15\n"
"foo bar\n"
"\n"
"Some text: blah bla !\n"
"Some ranges:\n"
"1-\n"
"-1\n"
"12-\n"
"-12\n"
"1-2\n"
"12-3\n"
"Strange date: 08-99-1999\n")

pattern = re.compile(r"(?P<date>\d{2}-\d{2}-\d{4})|(?P<time>\d{2}:\d{2})")

result = pattern.sub("", text)

print( result )

输出

\n 
foo bar\n
\n
Some text: blah bla !\n
Some ranges:\n
1-\n
-1\n
12-\n
-12\n
1-2\n
12-3\n
Strange date: \n

NOTA:我添加了\n,否则答案中不会显示这些内容。

经过测试 Python 2.7.4 Python 3.2.3