正则表达式帮助,其中包括“。”在单词分离

时间:2010-09-16 10:31:20

标签: python regex

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']

2 个答案:

答案 0 :(得分:2)

试试正则表达式:

[\w.]+

说明:

  • [...]是char类
  • \w是一个单词的字符,简称为 [a-zA-Z0-9_]
  • .通常是匹配的元字符 任何char,但在char类中 被视为文字.
  • +一个或多个

答案 1 :(得分:1)

试试这个:

re.findall('[\w.]+',expr)

这会找到由字母,数字,下划线和点组成的字符块。

你的原始正则表达式找到一个单词后跟一个单词,所以我看不到你如何得到结果:http://codepad.org/Khsd6IuW