代码之家  ›  专栏  ›  技术社区  ›  shahjapan

正则表达式帮助,其中包括单词分隔中的“.”

  •  0
  • shahjapan  · 技术社区  · 15 年前
    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 回复  |  直到 12 年前
        1
  •  2
  •   codaddict    15 年前

    尝试正则表达式:

    [\w.]+
    

    说明:

    • [...] 是char类
    • \w 是单词的字符,是 [a-zA-Z0-9_]
    • . 通常是要匹配的元字符 除char类之外的任何char .
    • + 对于一个或多个
        2
  •  1
  •   Kobi    15 年前

    试试这个:

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

    它可以找到由字母、数字、下划线和点组成的字符块。

    您原来的正则表达式发现一个单词后跟一个单点,所以我不知道您是如何得到发布的结果的: http://codepad.org/Khsd6IuW .