Python:preg_replace函数类比

17

我有一个在PHP中的小表达式:

  $search = array("'<(script|noscript|style|noindex)[^>]*?>.*?</(script|noscript|style|noindex)>'si",
    "'<\!--.*?-->'si",
    "'<[\/\!]*?[^<>]*?>'si",
    "'([\r\n])[\s]+'");

$replace = array ("",
  "",
  " ", 
  "\\1 ");

  $text = preg_replace($search, $replace, $this->pageHtml);

我该如何在Python中使用re.sub函数呢?


2
是的,re.sub。你试过了吗? - bereal
@bereal 好的,我如何将多个模式和替换设置到 re.sub 中? - Roman Nazarkin
2
似乎没有专门针对此的特殊调用,不过为什么不像这里描述的那样使用“|”呢?(http://emilics.com/blog/article/multi_replace.html) - bereal
1个回答

20

@bereal评论所述,可以使用正则表达式模块re.sub

这里是一个简单的例子

Python:

>>> import re
>>> re.sub(r'([^A-Z])([A-Z])', r'\1_\2', 'camelCase').lower()
'camel_case'

仅为好玩,这是 PHP 版本:

<?php
echo strtolower(preg_replace('/([^A-Z])([A-Z])/', '$1_$2', 'camelCase'));
// prints camel_case

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接