当前位置: 首页 > 面试题库 >

为什么不忽略大小写标志(re.I)在re.sub()中起作用

赫连彬炳
2023-03-14
问题内容

从pydoc:

re.sub = sub(pattern,repl,string,count = 0,flags = 0)

返回通过用替换repl替换字符串中模式中最左边的非重叠出现而获得的字符串。repl可以是字符串,也可以是可调用的;如果是字符串,则处理其中的反斜杠转义。如果它是可调用的,则将其传递给match对象,并且必须返回要使用的替换字符串。

示例代码:

import re
print re.sub('class', 'function', 'Class object', re.I)

除非我将模式更改为“类”,否则不会进行任何替换。

文档没有提及有关此限制的任何内容,因此我想我可能做错了什么。

这是什么情况


问题答案:

在我看来您应该这样做:

import re
print(re.sub('class', 'function', 'Class object', flags=re.I))

否则,re.I参数将传递给count参数。



 类似资料:
  • 本文向大家介绍grep 忽略大小写,包括了grep 忽略大小写的使用技巧和注意事项,需要的朋友参考一下 示例 给定一个文件sample: grep“ hello”的法线返回: 使用-i允许忽略大小写并匹配任何“ hello”:            

  • 问题内容: 即时通讯只是从C#-> Java移动。我需要使用junit编写一些测试。在我的测试中,我需要比较两个字符串以查看它们是否匹配。因此,我们也有Assert.assertEquals,但这是区分大小写的。如何使它不区分大小写?我需要的是: 返回true。 因此,在C#中,我们曾经有: 我很快就浏览了Junit文档,但似乎找不到任何东西。 问题答案: 我发现Hamcrest提供的断言必须比默

  • 问题内容: 我正在使用Java 7的新功能进行POC。我有在switch语句中使用String的代码,它可以工作。我也想使其不区分大小写。有没有一种方法可以在String上使用ignoreCase签出? 问题答案: 不,但是您可以打开。所以: 在我们挑剔的时候,您最好在英语语言环境中使用大写字母,以避免出现土耳其语问题

  • 问题内容: 我正在编写一个脚本,该脚本必须在Windows和Linux用户都手动修改过的目录上工作。Windows用户在分配文件名时往往根本不关心大小写。 有没有办法在Python的Linux端处理此问题,即我能否获得不区分大小写,类似glob的行为? 问题答案: 使用不区分大小写的正则表达式而不是glob模式。从全局模式生成正则表达式,因此 为您提供了不区分大小写的glob模式版本,作为已编译R

  • HTML: CSS: 我刚刚有链接去谷歌现在。

  • 我正在编写一个流程,需要从API中提取JSON数据,并将其提供给另一个要求字段名称完全小写的系统。我试图利用内置的LowerCaseStrategy,但这不起作用。我尝试过的一个例子是: