Подсчет вхождений определенных слов в панде

Я хочу посчитать количество вхождений определенных слов во фрейм данных. Я знаю, используяstr.contains»

a = df2[df2['col1'].str.contains("sample")].groupby('col2').size()
n = a.apply(lambda x: 1).sum()

В настоящее время я 'м, используя приведенный выше код. Есть ли способ сопоставить регулярное выражение и получить количество вхождений? В моем случае у меня большой массив данных, и я хочу сопоставить около 100 строк.