用法:
re.sub(pattern, repl, string, count=0, flags=0)返回通过替换
repl替换string中最左边的非重叠出现的pattern获得的字符串。如果未找到该模式,则string原样返回。repl可以是字符串,也可以是函数;如果它是一个字符串,则处理其中的任何反斜杠转义。也就是说,\n被转换为单个换行符,\r被转换为回车,等等。 ASCII 字母的未知转义保留供将来使用并视为错误。其他未知的转义例如\&将被单独留下。反向引用(例如\6)被替换为模式中第 6 组匹配的子字符串。例如:>>> re.sub(r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):', ... r'static PyObject*\npy_\1(void)\n{', ... 'def myfunc():') 'static PyObject*\npy_myfunc(void)\n{'如果
repl是一个函数,则在pattern的每个非重叠出现时调用它。该函数采用单个匹配对象参数,并返回替换字符串。例如:>>> def dashrepl(matchobj): ... if matchobj.group(0) == '-': return ' ' ... else: return '-' >>> re.sub('-{1,2}', dashrepl, 'pro----gram-files') 'pro--gram files' >>> re.sub(r'\sAND\s', ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE) 'Baked Beans & Spam'模式可以是字符串或模式对象。
可选参数
count是要替换的模式出现的最大数量;count必须是非负整数。如果省略或为零,将替换所有匹配项。仅当与前一个空匹配不相邻时,才会替换模式的空匹配,因此sub('x*', '-', 'abxd')返回'-a-b--d-'。在 string-type
repl参数中,除了上述字符转义和反向引用之外,\g<name>将使用由名为name的组匹配的子字符串,如(?P<name>...)语法所定义。\g<number>使用对应的组号;因此\g<2>等价于\2,但在\g<2>0等替代品中并没有歧义。\20将被解释为对第 20 组的引用,而不是对第 2 组的引用,后跟文字字符'0'。反向引用\g<0>替换了 RE 匹配的整个子字符串。在 3.1 版中更改:添加了可选的标志参数。
在 3.5 版中更改:不匹配的组将替换为空字符串。
在 3.6 版中更改:未知的逃脱
pattern包含由...组成'\'现在一个 ASCII 字母是错误的。在 3.7 版中更改:未知的逃脱
repl包含由...组成'\'现在一个 ASCII 字母是错误的。在 3.7 版中更改:当与先前的非空匹配相邻时,模式的空匹配将被替换。
相关用法
- Python re.split用法及代码示例
- Python re.search() vs re.match()用法及代码示例
- Python re.compile用法及代码示例
- Python re.fullmatch()用法及代码示例
- Python re.Match.groupdict用法及代码示例
- Python re.Pattern.match用法及代码示例
- Python re.Pattern.search用法及代码示例
- Python re.Match.group用法及代码示例
- Python re.escape用法及代码示例
- Python Regex re.MatchObject.groups()用法及代码示例
- Python re.Match.groups用法及代码示例
- Python Regex re.MatchObject.groupdict()用法及代码示例
- Python re.Match.start用法及代码示例
- Python re.Match.__getitem__用法及代码示例
- Python re.findall用法及代码示例
- Python re.Pattern.fullmatch用法及代码示例
- Python re.X用法及代码示例
- Python Numpy recarray.tostring()用法及代码示例
- Python reduce()用法及代码示例
- Python response.status_code用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 re.sub。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
