汇编re.findall在Python

时间:2015-08-31 23:28:59

标签: python

使用搜索栏从网站抓取数据。

我正在使用python搜索,然后过滤"Words Like These"的结果:

tabOne = re.findall(r"[A-Z][a-z]*", str(initialFilter))

问题在于,我想要获取的数据偶尔会出现多个单词,例如“Item Number One”,但re.findall会显示为'Item' 'Number' 'One'

我想将数据的原始形式保留为单词的一个短语,但我不确定如何告诉python将它们组合在一起。

[AZ] [az] 字词总是在页面上相互隔离,所以我想知道是否可以检查这些字旁边的字符是否是[A-Z][a-z]也是如此,如果属实,请将它们组合在一起。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

两种不同的方式:

  1. 更改正则表达式以搜索多个单词
  2. 将正则表达式结果重新加入字符串
  3. 对于(1),您可以尝试类似:

    tabOne = re.findall(r"((?:[A-Z][a-z]*\s?)+)", str(initialFilter))
    

    对于(2),您可以执行以下操作:

    tabOne = re.findall(r"[A-Z][a-z]*", str(initialFilter))
    results = ' '.join(tabOne)