从字符串中提取正则表达式

时间:2013-02-16 22:55:56

标签: python

是否有更好的方法来提取字符串:

  'Found 1 items\ndrwxr-xr-x   - hadoop supergroup          0 2013-02-16 13:21 /user/hadoop/wiki\n'

所有字符串都是:

  'Found **n** items\n**permissions**   - **username** **group**          **notsurewhatthisis** **date** **time** **folders(or file)**\n'

现在......我将它拆分为:

line = line.split()
num_items = int(line[1])
permissions = line[3]

等。

所以基本上这是一个毫无疑问的解决方案..

试着看看是否有“python”方式来做到这一点。

1 个答案:

答案 0 :(得分:2)

ss = ('Found 1 items\n'
      "drwxr-xr-x   - hadoop supergroup          "
      '0 2013-02-16 13:21 /user/hadoop/wiki\n')

('Found **n** items\n'
 '**permissions**   - **username** **group**          '
 '**notsurewhatthisis** **date** **time** **folders(or file)**\n')

import re

r = re.compile('Found +(\d+) +items *\n *(.+?) *- ')

print r.search(ss).groups()

ss是一个字符串
'Found +(\d+) +items *\n *(.+?) *- '是一个字符串,用作创建正则表达式对象的模式 r是正则表达式,不是字符串

的对象