scrapy-python-re语句

scrapy-python-re语句,python,regex,python-2.7,scrapy,Python,Regex,Python 2.7,Scrapy,我正在学习刮痧。我使用的是Scrapy0.20,这就是我遵循本教程的原因 我理解了这些概念。然而,我还有一件事 在这份声明中 sel.xpath('//title/text()').re('(\w+):') sel.xpath('//title/text()').extract() 输出是 [u'Computers', u'Programming', u'Languages', u'Python'] 请问,re(“(\w+:”)用于什么 要帮助回答以下问题: 此声明 sel.xpath('

我正在学习刮痧。我使用的是Scrapy0.20,这就是我遵循本教程的原因

我理解了这些概念。然而,我还有一件事

在这份声明中

sel.xpath('//title/text()').re('(\w+):')
sel.xpath('//title/text()').extract()
输出是

[u'Computers', u'Programming', u'Languages', u'Python']
请问,re(“(\w+:”)用于什么

要帮助回答以下问题: 此声明

sel.xpath('//title/text()').re('(\w+):')
sel.xpath('//title/text()').extract()
有以下输出:

[u'Open Directory - Computers: Programming: Languages: Python: Books']
为什么在元素之间添加逗号
? 此外,所有“:”都将被删除

此外:这是python纯语法吗

(\w+):
是一个正则表达式,它匹配以
结尾的任何单词:
,并对所有单词字符进行分组(
[a-zA-Z!]

输出没有
,因为此方法返回所有捕获的组

结果以Python列表的形式返回。当列表表示为字符串时,元素之间用
分隔

\w
[a-zA-Z!]

引用

\w

如果未指定区域设置和UNICODE标志,则匹配任何 字母数字字符和下划线;这相当于 套件[a-zA-Z0-9]。使用区域设置时,它将与集合[0-9_uu]匹配 当前文件中定义为字母数字的任何字符 场所如果设置了UNICODE,则这将与字符[0-9_u2;]加匹配 在Unicode字符中分类为字母数字的内容 属性数据库


这是一个正则表达式(regex),它本身就是一个完整的世界

(\w+):将返回以冒号结尾的任何文本(但不返回冒号)

(\w+:)将返回以冒号结尾的任何文本(也将返回冒号)


另外,如果你想了解regex,Codecademy有一个很好的

好的,我理解你所说的一切。除了删除“:”的原因之外?您能解释一下吗?删除“:”是因为正则表达式只返回括号内的匹配项。现在它是(\w+):但如果它是(\w+:),则“:”不会被删除。请看我的答案,这是一个例子。非常感谢。我接受你的回答,但请你知道为什么总是有一个
u
?:)这意味着它是一个unicode字符串(请参阅:)