正则表达式的问题

正则表达式的问题

如果要用正则表达式来统计一串字符串中元音的个数,怎么写正则表达式?
#-------------------------------------------------------------------------------
# Name:        module1
# Purpose:
#
# Author:      derek
#
# Created:     17-11-2008
# Copyright:   (c) derek 2008
# Licence:     <your licence>
#-------------------------------------------------------------------------------
#!/usr/bin/env python
import re,os
def main():
    p=re.compile(r'[aeiou]',re.IGNORECASE)
    test='abcdesfseoiihafohqrohweosfhi32sfsdf'
    print len(p.findall(test))

if __name__ == '__main__':
    main()

不会正则 感觉直接遍历字符串就可以
这个用正则,效率感觉比较低下,用遍历感觉好点。。
这个感觉快点

#!/usr/bin/env python
import re,os
def main():
    list=['a','e','i','o','u']
    test='Abcdesfseoiihafohqrohweosfhi32sfsdf'
    test=test.lower()
    print sum(1 for x in test if x in list)

if __name__ == '__main__':
    main()
我感觉还是正则快一些。感谢楼上两位。
奇怪,咋全是‘感觉’ 就不能动手测试一下吗?
正则的方法虽然会。但是觉得这位仁兄的方法更不错,学习了,谢谢
我测试了下,二者不相上下。
完整代码见:
lenstringcount.py (592 bytes)



QUOTE:
原帖由 cc520 于 2008-11-17 19:49 发表
我测试了下,二者不相上下。
完整代码见:
lenstringcount.py (592 bytes)

import re 的时间你还没算呢……