readlines and break apart based on letters

Kent Johnson kent at kentsjohnson.com
Mon Feb 13 21:08:05 EST 2006


rtilley wrote:
> Hi,
> 
> While trying to better understand security descriptors on Windows. I've 
> been examining text-based security descriptors. I have the security 
> descriptors on individual lines stored in a text file. I want to break 
> these lines apart based on owner, group, dacl and sacl. These areas are 
> demarcated by O: G: D: and S:
> 
> There are no spaces in the lines. How can I read each line so that each 
> area is broken out? I'd like output like this:
> 
> O: details
> G: details or NONE
> D: details or NONE
> S: details or NONE
> 
> Here is an example SD:
> O:owner_sidG:group_sidD:dacl_flags(string_ace1)(string_ace2)...(string_acen)S:sacl_flags(string_ace1)(string_ace2)...(string_acen) 

It's a pretty simple regex:
  >>> import re
  >>> 
s='O:owner_sidG:group_sidD:dacl_flags(string_ace1)(string_ace2)...(string_acen)S:sacl_flags(string_ace1)(string_ace2)...(string_acen)'
  >>>
  >>> m=re.search(r'O:(.*?)G:(.*?)D:(.*?)S:(.*)', s)
  >>> m.group(1,2,3,4)
('owner_sid', 'group_sid', 
'dacl_flags(string_ace1)(string_ace2)...(string_acen)', 
'sacl_flags(string_ace1)(string_ace2)...(string_acen)')



More information about the Python-list mailing list