首页 > 解决方案 > 你如何找到一个子字符串的所有实例,然后是一定数量的动态字符?

问题描述

我正在尝试查找特定子字符串的所有实例(以 a!b2 为例)并将它们与子字符串匹配后的 4 个字符一起返回。以下 4 个字符始终是动态的,可以是任何字母/数字/符号。

我试过搜索,但似乎提出的类似问题正在请求某些可以轻松拆分子字符串的字符的帮助,但由于我正在寻找的字符是动态的,我不确定如何编写正则表达式。

标签: python

解决方案


使用正则表达式时,可以使用“。” 动态匹配任何字符。用于{number}指定要匹配多少个字符,并使用括号如 in(.{number})指定应捕获匹配以供以后使用。

>>> import re
>>> s = "a!b2foobar a!b2bazqux a!b2spam and eggs"
>>> print(re.findall("a!b2(.{4})", s))
['foob', 'bazq', 'spam']

推荐阅读