python - 如何在正则表达式中查找连续重复?

标签 python regex

我正在尝试查找连续重复字母数字字符的匹配项。我正在尝试 re.match("(\w)[\\1][\\1]",mystring) 但它似乎不起作用(总是返回 None)。我想说的是“无论括号中捕获到什么字母数字字母,请检查它是否在任何地方连续出现两次。”

最佳答案

足够接近了:)

您可以使用re.findallre.search :

mystring = 'abccd'
print re.findall(r'(\w)\1', mystring)  # ['c']

您未能这样做的原因是 matchmatch 尝试从字符串的开头查找匹配项,但不存在这样的模式 "(\w)[\\1][\\1]"在字符串的开头。

如果您想使用match,您仍然可以这样做,但它需要对捕获的组进行额外的访问:

mystring = 'abccd'
m = re.match(r'.*(\w)\1', mystring)  
print m.group(1)  # 'c'

关于python - 如何在正则表达式中查找连续重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33811368/

相关文章:

python - 通过在 python 中使用 argparse 从我的模块传递其命令行参数来调用另一个模块

javascript - 在 for 循环之外定义的正则表达式不起作用

Python:如何读取和解析 unicode utf-8 文本文件?

python - 如何连接包含转义字符 "\"的文本

python - 无法在 mod_python 下获取类的单独实例

javascript - 如何在保持分隔符的同时根据空格或符号拆分字符串?

c++ - 使用正则表达式解析字符串

c# - 匹配括号内的所有内容(嵌套括号)

python - 使用 pandas 使用分隔符将文本发送到不同的列

python - 如何使用另一个 python 脚本文件中的参数执行 python 脚本文件