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

Python-re.findall返回不需要的结果

钱经赋
2023-03-14
问题内容
re.findall("(100|[0-9][0-9]|[0-9])%", "89%")

这仅返回结果[89],我需要返回全部89%。有任何想法如何做吗?


问题答案:

简单的解决方案:

>>> re.findall("(100%|[0-9][0-9]%|[0-9]%)","89%")
['89%']

更漂亮的解决方案:

>>> re.findall("(100%|[0-9]{1,2}%)","89%")
['89%']

最漂亮的解决方案

>>> re.findall("(?:100|[0-9]{1,2})%","89%")
['89%']


 类似资料:
  • 问题内容: 我有一个包含一堆字符串的文件,例如“ size = XXX;”。我第一次尝试使用python的re模块,并且对以下行为感到有些困惑:如果我在正则表达式中使用管道作为“或”,我只会看到返回的匹配项。例如: 匹配的“大小=”部分不见了。(但是,肯定会在搜索中使用它,否则将会有更多结果)。我究竟做错了什么? 问题答案: 您遇到的问题是,如果尝试匹配的正则表达式捕获组(即,括号中包含的正则表达

  • 问题内容: 受到一个现已删除的问题的启发;给定带有命名组的正则表达式,是否有类似的方法返回具有命名捕获组的列表而不是列表? 鉴于: 应该改为: 问题答案:

  • 我有两个模型;一个用于用户,另一个用于学习组。每个StudyGroup都有一个唯一的字段。用户模型有一个studyGroups字段,它是字符串的数组。一个用户可以加入多个学习组。 用户模型

  • 我有一个简单的代码,可以从第14列开始将转置的范围复制到另一张表的最后一行 它按原样返回零结果。如果我将destrow从公式更改为simple 2(这是现在最后一个空行),则效果很好。为什么不返回目标工作表中的最后一行索引?

  • 我正在尝试处理新的AndroidLollipopMediaProjection API。 我发现(至少在我的股票三星Galaxy S4 jfltexx上),当我开始意图获取捕获屏幕的权限()时,除非我在前面的尝试中选中了“不要再次询问”,否则在中不会有结果... 和结果处理: 权限对话框显示得很好,但是我的活动被隐藏了,它永远不会转到。 知道出什么问题了吗?

  • 虽然运行与SQL查询相同的查询并获取结果,但在ifCurrent中未获取任何结果。 我是否传递了错误的参数? 这就是在学校里通过的