Every line of 'python split regex' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your Python code is secure.
73 def make_regex_split(pattern): 74 try: 75 regex = re.compile(pattern) 76 77 except Exception as e: 78 raise argparse.ArgumentTypeError( 79 "Invalid regular expression '%s'" % (pattern) 80 ) 81 82 # This separates regex parsing from application and provides 83 # a nice type factory for argparse 84 def split(line): 85 return regex.split(line) 86 87 return split
89 def token_split(text, pattern, advanced=False): 90 """ 91 @return: An iterator that generates tokens and the gaps between them 92 """ 93 94 if advanced: 95 regexp = _compile(pattern) # pattern contains () 96 else: 97 regexp = re.compile(pattern) 98 99 # If it's a single string, then convert it to a tuple 100 # (which we can iterate over, just like an iterator.) 101 if type(text) is str: text = (text,) 102 103 # Process each substring returned by the iterator, in turn. 104 # "leftover" is used to record any leftover material when we 105 # move on to a new substring. 106 leftover = '' 107 offset = 0 108 for substring in text: 109 position = 0 # The position within the substring 110 111 # Skip any matching material in the substring: 112 match = regexp.match(substring) 113 if match: 114 yield leftover+substring[position:match.start()] 115 yield substring[match.start():match.end()] 116 position = match.end() 117 leftover = '' 118 119 # Walk through the substring, looking for matches. 120 while position < len(substring): 121 match = regexp.search(substring, position) 122 if match: 123 yield leftover+substring[position:match.start()] 124 yield substring[match.start():match.end()] 125 position = match.end() 126 leftover = '' 127 else: 128 leftover = substring[position:] 129 break 130 131 # Update the offset 132 offset += position 133 134 # If the last string had leftover, then return it. 135 if leftover: 136 yield leftover
312 def split(pattern, string, maxsplit=0, flags=0, concurrent=None, **kwargs): 313 """Split the source string by the occurrences of the pattern, returning a 314 list containing the resulting substrings. If capturing parentheses are used 315 in pattern, then the text of all groups in the pattern are also returned as 316 part of the resulting list. If maxsplit is nonzero, at most maxsplit splits 317 occur, and the remainder of the string is returned as the final element of 318 the list.""" 319 return _compile(pattern, flags, kwargs).split(string, maxsplit, concurrent)
896 def _splitShellPattern(value): 897 return value.split(',') if '{' not in value else [value]
63 def _tokenize(s): 64 token_spec = [ 65 ('HYPHEN', r'-'), 66 ('COORD', r'[0-9,]+(\.[0-9]*)?(?:[a-z]+)?'), 67 ('OTHER', r'.+') 68 ] 69 tok_regex = r'\s*' + r'|\s*'.join( 70 r'(?P<%s>%s)' % pair for pair in token_spec) 71 tok_regex = re.compile(tok_regex, re.IGNORECASE) 72 for match in tok_regex.finditer(s): 73 typ = match.lastgroup 74 yield typ, match.group(typ)