Skip to main content
 首页 » 编程设计

python之Python 中的正则表达式之我想找到 'yo mama' 的变体并替换它

2024年08月20日34dyllove98

呃,奇怪的问题。我有一连串“你妈妈”的笑话和其他类似的笑话。我想用另一个字符串替换“哟妈妈”、“你的母亲”、“你的妈妈”等的每个实例 - 我们暂时将其称为“Fred”。

我该怎么做呢?我开始于:

newComment = comment.replace('Your mama','Fred') 

但我很快意识到这不会涵盖所有情况。有人可以提供有关正则表达式的帮助吗? :)

这些评论字符串是通过网络抓取工具的 for 循环生成的。到目前为止,我发现的变体如下 - 尽管区分大小写:

yo mama 
You mama 
Your mama 
Your mother 
Your mum 

奖金 - 我还想用“他”替换“她”,用“他的”替换“她”。

请您参考如下方法:

对于这样的问题,如果实例较少并且您都知道它们,您可以使用捕获组和交替。

正则表达式: (?:yo|your)\s*(?:mama|mother|mum)

  • (?:yo|your) 第一个单词由交替分隔的可能实例。

  • (?:mama|mother|mum) 同第二个字

Regex101 Demo