我想使用re.search (或者更准确地说,是pandas.str.contains)来匹配一个字符串,只要它包含单词“car”至少两次(或者确切地说是两次,任何更简单的)。作为一个例子,考虑这两个字符串
string1 = 'Car, Cat, House, Car'
string2 = 'Car, Cat, House'我正在搜索的regex表达式应该与string1匹配,而不是string2。我在玩“向前看”(Car(?=Car)之类的东西),但行为完全怪异(毫不奇怪,我从来没有处理regex.)。
发布于 2015-05-24 21:25:26
您正在寻找的模式是Car.*?Car,即Car的两个出现,被任何东西所分隔(或完全没有)。这将匹配包含至少两个Car出现的字符串。
re.search(r"Car.*?Car", string1)非贪婪的恒星*?将确保re.search在两次出现后立即停止。
如果string1包含行终止符,也可以添加re.MULTILINE标志。
https://stackoverflow.com/questions/30428447
复制相似问题