/ tag Python / tag中的正则表达式下面的我的代码不识别模式

时间:2015-12-01 10:36:34

标签: python regex

我在Python下的正则表达式并没有看到模式。你能告诉我这里我做错了什么吗?

=====

import re

l = 'rootfs on / type rootfs (rw xyz'
m_obj = re.match(r'on / type .*? \(rw', l)

if m_obj:
    print "Found!"
else:
    print "Not found!"

=================

由于

3 个答案:

答案 0 :(得分:2)

查看re module的文档 - 尤其是matchsearch之间的区别。你应该在这里使用的是search(你的正则表达式与整个字符串不匹配):

import re

l = 'rootfs on / type rootfs (rw xyz'
m_obj = re.search(r'on / type .*? \(rw', l)

if m_obj:
    print "Found!"
else:
    print "Not found!"

答案 1 :(得分:1)

match,从字符串

的开头开始匹配

您需要使用search。它应该是:

re.search(r'on / type .*? \(rw', l)

答案 2 :(得分:1)

实际上match从字符串的开头开始 - 所以尝试

import re

l = 'rootfs on / type rootfs (rw xyz'
m_obj = re.match(r'.*?on / type .*? \(rw', l)

if m_obj:
    print "Found!"
else:
    print "Not found!"