Search code examples
pythonregexpython-re

Python re.compile truncates the string


I have the following pattern

pattern = "campaigns.methods.campaign_methods:get_campaign:campaign_id:(?P<campaign_id>.+):as_admin:(?P<as_admin>.+):accesses_params:(?P<accesses_params>.+):x_company_id:(?P<x_company_id>.+):x_user_id:(?P<x_user_id>.+)"

I use the following code:

re_compile = re.compile("^" + pattern + "$", flags=re.MULTILINE)

I expect the result:

re.compile('^campaigns.methods.campaign_methods:get_campaign:campaign_id:(?P<campaign_id>.+):as_admin:(?P<as_admin>.+):accesses_params:(?P<accesses_params>.+):x_company_id:(?P<x_company_id>.+):x_user_id:(?P<x_user_id>.+)$', re.MULTILINE)

As a result, I get:

re.compile('^campaigns.methods.campaign_methods:get_campaign:campaign_id:(?P<campaign_id>.+):as_admin:(?P<as_admin>.+):accesses_params:(?P<accesses_params>.+):x_company_id:(?P<x_company_id>.+):x_user_id:(?P<x_us, re.MULTILINE)

Full exemple code:

import re

pattern = "campaigns.methods.campaign_methods:get_campaign:campaign_id:(?P<campaign_id>.+):as_admin:(?P<as_admin>.+):accesses_params:(?P<accesses_params>.+):x_company_id:(?P<x_company_id>.+):x_user_id:(?P<x_user_id>.+)"
re_compile = re.compile("^" + pattern + "$", flags=re.MULTILINE)

print(re_compile)

Please tell me what the problem may be


Solution

  • Here is an answer by Piotr Siupa:

    The problem doesn't occur if the line is shorter. It's probably a limit on how much __str__ of the regex is willing to display.