|
90 | 90 | sys.exit(4) |
91 | 91 |
|
92 | 92 | __author__ = 'Hari Sekhon' |
93 | | -__version__ = '0.10.8' |
| 93 | +__version__ = '0.10.9' |
94 | 94 |
|
95 | 95 | ip_regex = r'(?!127\.0\.0\.)' + ip_regex |
96 | 96 | subnet_mask_regex = r'(?!127\.0\.0\.)' + subnet_mask_regex |
@@ -320,6 +320,7 @@ def __init__(self): |
320 | 320 | id_or_name=id_or_name, |
321 | 321 | switch_prefix=switch_prefix), |
322 | 322 | 'db4': r'(\s(?:in|of)\s+(column|table|database|schema)\s+[\'"])[^\'"]+', |
| 323 | + 'db5': r'/+user/+hive/+warehouse/+([A-Za-z0-9_-]+/+)*[A-Za-z0-9_-]+.db/+[A-Za-z0-9_-]+', |
323 | 324 | 'generic': r'(\bfileb?)://{filename_regex}'.format(filename_regex=filename_regex), |
324 | 325 | 'generic2': r'({switch_prefix}key{id_or_name}?{arg_sep})\S+'\ |
325 | 326 | .format(arg_sep=arg_sep, |
@@ -357,7 +358,7 @@ def __init__(self): |
357 | 358 | 'user': r'([-\.]{user_name}{sep})\S+'.format(user_name=user_name, sep=arg_sep), |
358 | 359 | 'user2': r'/(home|user)/{user}'.format(user=user_regex), |
359 | 360 | 'user3': r'({user_name}{sep}){user}'.format(user_name=user_name, sep=arg_sep, user=user_regex), |
360 | | - 'user4': r'(?<![\w\\]){NT_DOMAIN}(?!\\n\d\d\d\d-\d\d-\d\d)\\{user}(?!\\)'\ |
| 361 | + 'user4': r'(?<![\w\\]){NT_DOMAIN}(?!\\r|\\n)(?!\\n\d\d\d\d-\d\d-\d\d)\\{user}(?!\\)'\ |
361 | 362 | .format(NT_DOMAIN=r'\b[\w-]{1,15}\b', user=user_regex), |
362 | 363 | 'user5': r'for\s+user\s+{user}'.format(user=user_regex), |
363 | 364 | # (?<!>/) exclude patterns '>/' where we have already matched and token replaced |
@@ -456,6 +457,7 @@ def __init__(self): |
456 | 457 | 'db2': r'\1<database_instance>', |
457 | 458 | 'db3': r'\1<schema>', |
458 | 459 | 'db4': r'\1<\2>', |
| 460 | + 'db5': r'/user/hive/warehouse/<database>.db/<table>', |
459 | 461 | 'generic': r'\1://<file>', |
460 | 462 | 'generic2': r'\1<key>', |
461 | 463 | 'generic3': r'\1<cluster>', |
|
0 commit comments