1

我正在尝试在python中学习正则表达式来替换单词中除了#hashtag和@username之外的所有元音。但我只知道正则表达式:

查找元音: [aiueoAIUEO]

找到@username 和#hashtag: ([@#][\w_-]+)

例子:

@username blah blah #blah blah #hashtag @blah blah blah

变得:

@username blh blh #blah blh #hashtag @blah blh blh

import re

s = "@username blah blah #blah blah #hashtag @blah blah blah"

#([@#][\w_-]+)
print(re.sub(r'[aiueoAIUEO]', '', s))
4

1 回答 1

1

您可以使用

import re
s = "@username blah blah #blah blah #hashtag @blah blah blah"
print(re.sub(r'([@#][\w-]+)|[aiueoAIUEO]', r'\1', s))

请参阅正则表达式演示Python 演示

使用([@#][\w-]+)|[aiueoAIUEO],主题标签/提及被捕获到组 1 中,在这种情况下,\1反向引用将其放回结果字符串中,否则匹配并删除元音。

于 2020-02-04T14:58:38.490 回答