Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:58:21

0001 #!/usr/bin/env python
0002 
0003 import re
0004 
0005 
0006 def match_pattern_file(pattern, lfn):
0007     pattern1 = "\\$[_a-zA-Z0-9]+"
0008     pattern2 = "\\$\\{[_a-zA-Z0-9\\/]+\\}"
0009     while True:
0010         m = re.search(pattern1, pattern)
0011         if m:
0012             pattern = pattern.replace(m.group(0), "*")
0013         else:
0014             break
0015     while True:
0016         m = re.search(pattern2, pattern)
0017         if m:
0018             pattern = pattern.replace(m.group(0), "*")
0019         else:
0020             break
0021     pattern = pattern.replace(".", "\\.")
0022     pattern = pattern.replace("*", ".*")
0023     pattern = pattern + "$"
0024     print(pattern)
0025 
0026     m = re.search(pattern, lfn)
0027     if m:
0028         return True
0029     return False
0030 
0031 
0032 if __name__ == "__main__":
0033     pattern = 'user.tmaeno.$JEDITASKID._${SN/P}.results.json'
0034     lfn = 'user.tmaeno.2321._23.results.json'
0035     lfn1 = 'user.tmaeno1.2321._23.results.json'
0036     lfn2 = 'user.tmaeno.2321._23.results1.json'
0037     lfn3 = 'user.tmaeno.2321._23.results.json1'
0038     lfn4 = 'user.tmaeno.27529814._000001.results.json'
0039 
0040     ret = match_pattern_file(pattern, lfn)
0041     print(ret)
0042     ret = match_pattern_file(pattern, lfn1)
0043     print(ret)
0044     ret = match_pattern_file(pattern, lfn2)
0045     print(ret)
0046     ret = match_pattern_file(pattern, lfn3)
0047     print(ret)
0048     ret = match_pattern_file(pattern, lfn4)
0049     print(ret)