expr = "name + partner_id.country_id.name + city + ' ' + 123 + '123' + 12*2/58%45"
print re.findall('\w+[.]',expr)
['name',
'partner_id',
'country_id',
'name',
'city',
'123',
'123',
'12',
'2',
'58',
'45']
我想要包含“。”所以结果应该像
['name',
'partner_id.country_id.name',
'city',
'123',
'123',
'12',
'2',
'58',
'45']
答案 0 :(得分:2)
试试正则表达式:
[\w.]+
说明:
[...]
是char类\w
是一个单词的字符,简称为
[a-zA-Z0-9_]
.
通常是匹配的元字符
任何char,但在char类中
被视为文字.
+
一个或多个答案 1 :(得分:1)
试试这个:
re.findall('[\w.]+',expr)
这会找到由字母,数字,下划线和点组成的字符块。
你的原始正则表达式找到一个单词后跟一个单词,所以我看不到你如何得到结果:http://codepad.org/Khsd6IuW。