python - 匹配字符串每个单词中的第一个元音并用正则表达式打印它们以逗号分隔?

标签 python regex string findall

这是我到目前为止所拥有的

my_str = "The sky's the limit"

regex = re.findall(r"\b\w*?[aeiouAEIOU]", my_str)
joined_str = ", ".join(regex)

print(joined_str)

我想打印它

e, e, i

但它打印

The, the, li

那么如何忽略带有元音的单词前面的字符,只打印每个单词的第一个元音并用逗号分隔元音?

最佳答案

您只需通过将其封装在捕获组中来限制要返回的表达式部分:

>>> re.findall(r"\b\w*?([aeiouAEIOU])", my_str)
['e', 'e', 'i']

() 告诉正则表达式引擎仅返回 () 内表达式的匹配项。

关于python - 匹配字符串每个单词中的第一个元音并用正则表达式打印它们以逗号分隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46882099/

相关文章:

java - Java中无法分割字符串

Python树结构

python - 如何结合 pygame 和 tkinter?

python - 如何在 Django 中记录成功和失败的登录和注销尝试?

javascript - js比较两个字符串

c - 从函数返回字符串数组的指针

Python使用win32api,模拟鼠标移动并复制/粘贴到磁盘文件中

python - 如何在Python中的数字的不同位置添加点分隔符?

ruby - 如何仅在某些 LaTeX 命令参数的范围内进行替换?

c# - C# 中的正则表达式字符串缩减器?