如何使用两组正则表达式网址?

时间:2017-03-22 11:30:04

标签: python regex

我有这个网址:s3://dev-datalake-cluster-bucket-q37evqefmksl/raw/wfm/users.11315

我需要具有以下值:

  1. dev-datalake-cluster-bucket-q37evqefmksl
  2. /raw/wfm/users.11315
  3. 我到目前为止尝试了以下代码,但它一直让我犯错误 -

    pattern = re.compile('s3://(?)/(?)', response_content)
    print ( re.match(pattern, response_content) )
    

2 个答案:

答案 0 :(得分:1)

您可以使用否定字符类来使用以下方法获取此值:

^s3://([^/]+)/(.*)

您的值由捕获的组#1

返回

<强>代码:

>>> s = 's3://dev-datalake-cluster-bucket-q37evqefmksl/raw/wfm/users.11315'

>>> print re.findall(r'^s3://([^/]+)/(.*)', s)
[('dev-datalake-cluster-bucket-q37evqefmksl', 'raw/wfm/users.11315')]

RegEx Demo

正则表达式分手:

  • ^ - 直线开始
  • s3:// - 匹配文字s3://
  • ([^/]+) - 匹配任何不是/
  • 的字符中的1个或多个
  • / - 匹配文字/
  • (.*) - 匹配休息

答案 1 :(得分:0)

您可以使用re.groupdict

$('.site-footer .footer-heading').click(function(){
        $(this).toggleClass('open');
    });

Pythex是正则表达式的便捷资源。