我正在try 编写一个正规表达式来查找包含same个辅音中2个或更多的序列的所有单词.

我try 过以下操作,但它坏了:

xh_data = ("mmh tshhu itshu mama krrrr")
onomat_consonant_words = re.findall (r'\b\w*([b-df-hj-np-tv-z])\1\w*\b', xh_data, flags=re.IGNORECASE)

print (onomat_consonant_words)

它应该给出以下输出' mmh ',' tshhu ',' krrr '] 目前它只给出[' m ',' h ',' r ']

try 使用' 1的反向引用,但我不确定这里是否正确.

推荐答案

这里有两个问题:

  • {不应该出现在您的regex中.它查找字面上的左括号.(在我发表 comments 后您将其删除).

  • 正如文档中所说的大约findall,当您的regex中有捕获组时,它不会返回完整匹配项,而只返回这些组捕获的内容.

一种解决方案是使用finditer并提取完整匹配:

onomat_consonant_words = [
    m[0]
    for m in re.finditer(r'\b\w*([b-df-hj-np-tv-z])\1\w*', xh_data, flags=re.IGNORECASE)
]

请注意,您并不真正需要最后\b名.贪婪的\w*暗示了这一点.

Python相关问答推荐

将两个收件箱相连导致索引的列标题消失

Plotly Dash函数来切换图形参数-pPython

两极:滚动组,起始指数由不同列设置

Django关于UniqueBindition的更新

使用argsorted索引子集索引数组

Twilio:CallInstance对象没有来自_的属性'

使用regex分析具有特定字符的字符串(如果它们存在)

使用多个性能指标执行循环特征消除

线性模型PanelOLS和statmodels OLS之间的区别

TARete错误:类型对象任务没有属性模型'

max_of_three使用First_select、second_select、

Excel图表-使用openpyxl更改水平轴与Y轴相交的位置(Python)

我如何使法国在 map 中完全透明的代码?

Python中绕y轴曲线的旋转

迭代嵌套字典的值

在pandas中使用group_by,但有条件

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

当点击tkinter菜单而不是菜单选项时,如何执行命令?

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

LocaleError:模块keras._' tf_keras. keras没有属性__internal_'''