- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下字符串:
'3 4 4 5 5 5 2 2'
我需要像这样从中提取所有连续出现的事件:
'44 555 22'
为此,我使用了以下代码。它工作正常:
n = input().replace(' ', '')
result = re.finditer(r'(\d)\1+', n)
for match in result:
print(match.group(0), end=' ')
我的问题是如何修改我的正则表达式以便我可以使用 findall()
代替?我尝试使用这个:
n = input().replace(' ', '')
result = re.findall(r'(\d)\1+', n)
print(result)
它只返回这个:['4', '5', '2']
。
这种行为的原因是什么?通过查看 regex看起来该模式只捕获第 1 组而不是第 0 组。我想我无法在 findall
上调用 group()
。是否可以通过任何方式更改我的模式或我可以做些什么来从 findall
获得相同的结果?例如:['44', '555', '22']
。
最佳答案
findall()
返回所有带括号的组(如果有),否则返回完整匹配。在您的示例中,您可以对整体和内部使用分组,然后您需要指定第二组而不是第一组的重复,并选择第一组作为结果:
[x for x,y in re.findall(r'((\d)\2+)', '33344555')]
返回:
('333', '44', '555')
但我个人会坚持使用 finditer()
。你为什么要改变它?
顺便说一句,您不需要通过去除空格来准备您的输入:
[x for x,y in re.findall(r'((\d)(?: \2)+)', '3 3 3 4 4 5 5 5')]
返回:
['3 3 3', '4 4', '5 5 5']
关于Python 重新 findall vs finditer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47906708/
如何通过特定条件获取值,然后使用这些选定元素从其他事实系列中获取值? 我有这个代码 %code, date, amount values1('AAA', date(02, 03, 2020), 100
我是 Python 的新手,主要需要它来从网站获取信息。在这里,我试图从网站底部获取简短的标题,但无法完全获取。 from bfs4 import BeautifulSoup import reque
我不断收到错误“缺少 1 个必需的位置参数:'section_url'” 每次我尝试使用 findall 时都会收到此错误。 刚开始学习 python,因此我们将不胜感激! from bs4 impo
我有这张 table 。客户有项目,用户在项目中工作 Clients - id - name Projects - id - name - client_id Users - id - name Us
嗨,我是 Python 和 Beautiful 汤的新手。我试图仅从表格的某个部分获取文本。但似乎 findAll 的结果不是我可以再次运行 findAll 的 BeautifulSoup 类型。 s
登录 @ApiModel @Entity public class Login { @Id @GeneratedValue(strategy = GenerationType.AUTO
登录 @ApiModel @Entity public class Login { @Id @GeneratedValue(strategy = GenerationType.AUTO
有什么方法可以防止 Spring Data REST 为覆盖的存储库方法创建/search URL? 例如,以下代码会生成一个/search/findAll URL,它复制了集合资源的功能: publ
有什么方法可以防止 Spring Data REST 为覆盖的存储库方法创建/search URL? 例如,以下代码会生成一个/search/findAll URL,它复制了集合资源的功能: publ
使用 Spring Data JpaRepository 可以通过某种排序获取给定 Id 的选择集合。这意味着我需要启用以下查询。我找到了一些 solution应用@NamedQuery 但我无法启用
我正在尝试在我的 Express 应用程序中使用 Sequelize 获取数据,并使用 MSSQL 获取数据库。这是我的代码: getInstitution: function (req, res)
代码应该在请求/tasks 时返回一个带有空任务的 JSON 对象,而是返回一条消息错误 - TypeError: cannot read property 'findAll' of undefine
我的python版本是2.7.6 我知道 +? 是 + 的非贪婪版本。 这样 re.findall('(ab)+?', 'abab') 将匹配尽可能少的 ab。 结果 ['ab', 'ab'] 因此有
我正在使用 sequelize 从 mySql db 获取数据。这就是我如何使用它 const isProduct = await models.product.findAll({ where:
ItemTag对象包含一个Item对象和一个Tag对象。 (这些是Java域对象。) 这个简单的查询按预期工作。我返回一个ItemTags列表,并且可以完成ItemTags应该做的所有奇妙的事情: d
试图简单地使用find all运行域对象的查询,并且它的行为不像我期望的那样: searchResults = Contact.findAll("from Contact as c where c.c
我想使用 groovy findAll 和我的参数来过滤闭包 filterClosure = { it, param -> it.getParam == param } 我现在如何在 findAl
我扩展了 CrudRepository 来创建一个名为 TaskDao 的类。我认为 taskDao.findall() 会从数据库中提取值。由于某种原因,taskDao.findall() 实际上返
我正在开发一个 grails 应用程序,在此我必须在 list.gsp 上应用过滤器框。当我使用以下查询(在我的服务中)进行过滤时,我得到了分页列表: def clientCriteria =
我正在尝试创建一个正则表达式来查找 Perl 代码中的所有变量。 变量如下所示:$variable_test。 所以这是我使用的正则表达式: ^\$\w+$ 这给了我Python中的这一行: matc
我是一名优秀的程序员,十分优秀!