正则表达式在一行内的任何环境中查找单词的实例

时间:2015-10-14 00:36:28

标签: python regex pandas

我需要在任何可能出现在一行中的情况下找到一个单词。

我需要在:

中找到Apple(不区分大小写)
to much applesauce
   apple_computers
*applesdf 

或任何其他方式,我可能会遇到苹果这个词。

到目前为止我所拥有的:

(?i)^.*?(apple).*?

更新:我正在尝试在Python pandas中完成此操作,其中特定列的行将在行中的任何位置包含单词apple仅用于该列

如果我有这个数据框:

   A     B       C  D      E    F
0  1 no apple    1  3   test  foo
1  1 retrain     1  3  train  foo
2  1 applesfas   1  3   test  foo
3  1 fit         1  3  train  foo

我会得到这样的东西:

   A     B       C  D      E    F
0  1 no apple    1  3   test  foo
2  1 applesfas   1  3   test  foo

对于过滤,我知道我会使用这样的东西:

appleFilter = data['B'].str.contains('\bApple\b')

1 个答案:

答案 0 :(得分:1)

str.contains有一个案例标志,不区分大小写:

In [11]: df["B"].str.contains("apple", case=False)
Out[11]:
0     True
1    False
2     True
3    False
Name: B, dtype: bool

In [12]: df[df["B"].str.contains("apple", case=False)]
Out[12]:
   A          B  C  D     E    F
0  1   no apple  1  3  test  foo
2  1  applesfas  1  3  test  foo