我想使用正则表达式提取(abc)(def) 我最终得到了下面的错误
导入重新
def main():
str = "-->(abc)(def)<--"
match = re.search("\-->(.*?)\<--" , str).group(1)
print match
错误是:
Traceback (most recent call last):
File "test.py", line 7, in <module>
match = re.search("\-->(.*?)\<--" , str).group()
File "/usr/lib/python2.7/re.py", line 146, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or buffer
答案 0 :(得分:1)
修正:
import re
def main():
my_string = "-->(abc)(def)<--"
match = re.search("\-->(.*?)\<--" , my_string).group(1)
print match
# (abc)(def)
main()
注意,我将str
重命名为my_string
(不要将标准库函数用作自己的变量!)。也许你仍然可以通过外观优化你的正则表达式,懒惰的星(.*?
)有时会变得非常无效。