python正则表达式两个单词

2024-09-30 12:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有字符串数据的音调,希望找到字符串中的所有“iphone case”或“iphone6 case”或“iphone cases”,并使用regexp删除。在

tweet=re.sub(r'iphone\s[case]+', 'DELETESENTENCE', tweet)
tweet=re.sub(r'[iphone\s]+[0-6]+[\scase]+', 'DELETESENTENCE', tweet)

{1}包括后面用来杀死所有regi的文本。在

但我只是想知道更体面的方式来清除文本,而不是单独地杀死或替换模式

例如,我有lst=['iPhone case', 'iPhone battery', 'iPhone film']

并且re(r'lst','DELETESENTENCE','tweet)<;==显然这不起作用。在


Tags: 数据字符串文本retweetcaseiphoneregexp
3条回答

现在,正则表达式中有一些问题。[case]+意思是“c”、“a”、“s”、“e”字符中的任何一个或多个,我想这不是你想要的。在

如果您只想匹配两个单词“iphone”和“case”,可以使用:

  tweet=re.sub(r'(?i)\b(?:iphone|case)\b', 'DELETESENTENCE', tweet)

如果您只需要删除用数字分隔的两个单词,那么

^{pr2}$

正则表达式可以用“或”条件与列“|”字符连接。 这对您的情况应该有效:

tweet=re.sub('|'.join(lst), 'DELETESENTENCE', tweet)

我不太明白,但这就是你想要的:

'iphone(?:\s+[0-6])?\s+cases?'

这将匹配:

^{pr2}$

相关问题 更多 >

    热门问题