【问题标题】:Consecutive words with regex [duplicate]带有正则表达式的连续单词[重复]
【发布时间】:2020-09-14 12:49:25
【问题描述】:

如果两个单词以连续方式重复,我正在尝试添加一个新标签(布尔值,true/false):

例如:

d = {'test': ['test test ciao a todos']}
df = pd.DataFrame(data=d)

预期的输出应该是True:

pat = r'\b(\w+)\b.*\b\1\b'
df['C']=f['test'].str.contains(pat)

但是,当我运行这个时,输出也是True

d = {'test': ['test hola ciao a test']}
df = pd.DataFrame(data=d)

pat = r'\b(\w+)\b.*\b\1\b'
df['C'] = df['test'].str.contains(pat)

我的预期输出应该是False

你能告诉我正则表达式代码有什么问题吗?谢谢

【问题讨论】:

  • 我不想删除重复的单词,所以这个问题不是上面提到的问题的重复。

标签: python regex pandas dataframe


【解决方案1】:

.* 表示两个单词之间可以有无限个字符。

所以只需删除 * 即可解决您的问题

\b(\w+)\b.\b\1\b

try it

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多