Python正则表达式-如何形成一个在单词中包含连字符的正则表达式

Python正则表达式-如何形成一个在单词中包含连字符的正则表达式,python,regex,Python,Regex,我需要一个正则表达式来匹配“/page-2”或“/page-3”作为更大URL的一部分,例如 到目前为止,我已经尝试了以下组合: “/page-\d” “/page-\d” “\b/第-\d\b页” 请注意,我使用正则表达式作为一个Scrapy项目中start_URL部分规则的一部分。非常感谢您的建议。下面是一段代码片段: class NdtvXoloNewsItem(CrawlSpider): name = "ndtvxolonews" allowed_domains = ["

我需要一个正则表达式来匹配“/page-2”或“/page-3”作为更大URL的一部分,例如

到目前为止,我已经尝试了以下组合: “/page-\d” “/page-\d” “\b/第-\d\b页”

请注意,我使用正则表达式作为一个Scrapy项目中start_URL部分规则的一部分。非常感谢您的建议。下面是一段代码片段:

class NdtvXoloNewsItem(CrawlSpider):
    name = "ndtvxolonews"
    allowed_domains = ["http://gadgets.ndtv.com/tags/"]
    start_urls = ["http://gadgets.ndtv.com/tags/xolo/articles"]
    rules = [Rule(LinkExtractor(allow=['\b/page\-\d\b']))]

这应该能帮到你。

允许的\u域
应该只是域名。通过在正则表达式中包含URL的开头,可以筛选到特定路径

class NdtvXoloNewsItem(CrawlSpider):
    name = "ndtvxolonews"
    allowed_domains = ["gadgets.ndtv.com"]
    start_urls = ["http://gadgets.ndtv.com/tags/xolo/articles"]
    rules = [Rule(LinkExtractor(allow=['http://gadgets.ndtv.com/tags/.*/page\-\d+']))]

+是指定一个或多个的量词是!!!!!!!!所有这些都是您当前的代码出了什么问题?那么,是否不需要转义“page”之前出现的连字符甚至/呢?不,不是在python中……请使用
r
raw模式
来指定您的regexTried!不起作用:(只在start\u URL中抓取URL。如果我使用的是旧版本的python,这有关系吗?我现在使用的是python 2.7,因为scrapy现在与2.7版兼容。@KrithikaRaghavendran try
r.*?/page-\d+\b'
r.*?/page-\d+$。
不走运!谢谢你的建议。我会再仔细看看代码的并找出是否还有其他问题。@KrithikaRaghavendran您能分享一下这个正则表达式是如何应用的吗
class NdtvXoloNewsItem(CrawlSpider):
    name = "ndtvxolonews"
    allowed_domains = ["gadgets.ndtv.com"]
    start_urls = ["http://gadgets.ndtv.com/tags/xolo/articles"]
    rules = [Rule(LinkExtractor(allow=['http://gadgets.ndtv.com/tags/.*/page\-\d+']))]