在python re.compile(’* ab’)中使用re模块

Use re module in python re.compile('*ab')

本问题已经有最佳答案,请猛点这里访问。

我有

os.listdir('/home/dir/')

使用file和file.ab

如何使用regex只列出该目录中的file.ab。

当我使用regex时

re.compile('*ab')

它返回

1
2
3
4
5
6
7
Traceback (most recent call last):
  File"<stdin>", line 1, in <module>
  File"/usr/lib64/python2.6/re.py", line 190, in compile
    return _compile(pattern, flags)
  File"/usr/lib64/python2.6/re.py", line 245, in _compile
    raise error, v # invalid expression
sre_constants.error: nothing to repeat


更好地使用glob

1
2
import glob
print glob.glob('/home/dir/*.ab')


无需正则表达式:

1
[i for i in os.listdir('/home/dir/') if i.endswith(".ab")]