import re
regex = re.compile(r"\[([^]]*)\]", flags=re.MULTILINE)
test_str = ("[EtlRowId]\n"
" ,[PartitionKey]\n"
" ,[RowKey]\n"
" ,[Timestamp]\n"
" ,[LoadDTS]\n"
" ,[Microsoft_VSTS_Common_BacklogPriority]\n"
" ,[Microsoft_VSTS_Common_Priority]\n"
" ,[Microsoft_VSTS_Common_ValueArea]\n"
" ,[Microsoft_VSTS_Scheduling_Effort]\n"
" ,[System_AreaPath]\n"
" ,[System_BoardColumn]\n"
" ,[System_BoardColumnDone]\n"
" ,[System_ChangedBy]\n"
" ,[System_ChangedDate]\n"
" ,[System_CommentCount]\n"
" ,[System_CreatedBy]\n"
" ,[System_CreatedDate]\n"
" ,[System_IterationPath]\n"
" ,[System_Reason]\n"
" ,[System_State]\n"
" ,[System_Tags]\n"
" ,[System_TeamProject]\n"
" ,[System_Title]\n"
" ,[System_WorkItemType]\n"
" ,[TeamNowCustomerId]\n"
" ,[fields]\n"
" ,[id]\n"
" ,[projectId]\n"
" ,[projectName]\n"
" ,[rev]\n"
" ,[url]\n"
" ,[Microsoft_VSTS_Common_ClosedDate]\n"
" ,[System_AssignedTo]\n"
" ,[BugIterationHash]\n"
" ,[TeamIterationHash]\n"
" ,[BugHash]")
subst = "MAX(LEN([${1}])) AS [${1}]"
result = regex.sub(subst, test_str)
if result:
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html