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

python regex帮助

  •  0
  • user469652  · 技术社区  · 14 年前
    a = Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st')
    

    我想要的是转义到HTML实体,即 '

    记住,路径后面的字符串可以是任何东西,我需要一种通用的方法来完成这项工作。

    此字符串的输出为

    Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st')
    
    5 回复  |  直到 14 年前
        1
  •  0
  •   guilin 桂林    14 年前
    re.sub(r"path=\'([^\']*)\'", "path='\1'", str)
    
        2
  •  0
  •   displayname    14 年前

    如果要将'/real/os/win/today/axl.xls'转换为 '/real/os/win/today/axl.xls' 你可以用 "'/real/os/win/today/axl.xls'".replace("'", ''') 而不是使用regex。

        3
  •  0
  •   Srikar Appalaraju Tonetel    14 年前

    您拥有的是非HTML实体。如果我没记错的话,有3种 &... 实体,E.X.。-       全部平均值 U+00A0 NO-BREAK SPACE .

      -(您拥有的类型)是“数字字符引用”(十进制)。

      -是“数字字符引用”(十六进制)。

      -是一个实体。

    你可以查一下弗雷德里克·路德的 Unescape HTML script (对于python2.x)有关的详细信息 HTML entities here

        4
  •  0
  •   Ant    14 年前

    如果我正确理解了问题:

    >>> a = "Account(unit = 2, path='/real/os/win/today/axl.xls', realname = 'st')"
    >>> re.sub("(?<=path=').*", lambda x: '&#39'+x.group(0), a)
    "Account(unit = 2, path='&#39/real/os/win/today/axl.xls', realname = 'st')"
    
        5
  •  0
  •   Rohan Monga    14 年前

    我更喜欢 BeautifulSoup 为了这些东西。退房 http://www.crummy.com/software/BeautifulSoup/documentation.html#Entity%20Conversion 更多信息。