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

Python-查找相同字符的序列

许正平
2023-03-14
问题内容

我正在尝试使用正则表达式来匹配字符串中相同字符的一个或多个实例的序列。

范例:

string = "55544355"
# The regex should retrieve sequences "555", "44", "3", "55"

我能给我一些提示吗?


问题答案:

您可以使用re.findall()((.)\2*)正则表达式:

>>> [item[0] for item in re.findall(r"((.)\2*)", string)]
['555', '44', '3', '55']

关键部分在外部捕获组-中(.)\2*。在这里,我们捕获一个字符,(.)然后通过组号引用该字符:\2。组号为2,因为我们有一个外部捕获组,其号为1,*表示0次或多次。

您也可以通过一个捕获组和解决它re.finditer()

>>> [item.group(0) for item in re.finditer(r"(.)\1*", string)]
['555', '44', '3', '55']


 类似资料:
  • 本文向大家介绍python实现查找两个字符串中相同字符并输出的方法,包括了python实现查找两个字符串中相同字符并输出的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现查找两个字符串中相同字符并输出的方法。分享给大家供大家参考。具体实现方法如下: 输出结果如下: ['s', 'a', 'm'] 希望本文所述对大家的Python程序设计有所帮助。

  • "给定两个字符串s和t,编写一个函数来检查s是否包含t的所有字符(顺序与字符串t相同)。返回true或false。递归不一定。这是我用java写的代码片段。问题是输入: string1="st3h5irteuyarh!"和string2="shrey"它应该返回TRUE,但它返回FALSE。那是为什么?"

  • 我需要编写一个递归方法,将int作为输入,并以int(而不是字符串)的形式返回其中最长的相同数字序列。计数序列并不是最难的部分,但当给定一个包含几个序列的数字时,我不知道如何返回正确的值,而不计算所有的序列,而只计算最长的序列。目前,我编写了一段只计算序列长度的代码: 我真的很难完成剩下的事情。

  • 问题内容: 我的数据库中有文本。我从xhr向我的视图发送一些文本。函数查找找不到某些Unicode字符。 我想使用以下方式找到选定的文本: 但有时变量“选择”包含如下字符: 而在变量“文本”中有: 它们只是同一事物的不同形式。在这里如何使工作更可靠? 问题答案: 这可能对您有帮助。 基本上,如果您对来自db的数据进行规范化,并且将选择规范化为相同的形式,那么使用,(即)和朋友时应该会得到更好的结果

  • 问题 怎样在两个字典中寻寻找相同点(比如相同的键、相同的值等等)? 解决方案 考虑下面两个字典: a = { 'x' : 1, 'y' : 2, 'z' : 3 } b = { 'w' : 10, 'x' : 11, 'y' : 2 } 为了寻找两个字典的相同点,可以简单的在两字典的 keys() 或者 items() 方法返回结果上执行集合操作。

  • 问题内容: 通过搜索发现了类似的问题,但我是一位新的(糟糕的)程序员,无法理解答案。 我有一个.txt文件,其中包含多个字符串,以’-‘分隔。我使用拆分将一些字符串分成变量,其中两个相等,但是在if语句中它们不相等。 这将产生以下结果: 瑞典 瑞典 没有 在两个“ Sweden”字符串之前和之后都有一个空格,并且它们都用大写字母“ S”编写,但不相等吗?我在哪里搞砸了? 问题答案: 最后一个元素包