def getSuffixPatterns(suffix, extraction): suffixes = [] suffixes.append(("", 0.5)) return suffixes if suffix == "" or suffix == "\n": suffixes.append(("$", 1.0)) else: oppositeChar = suffix[0] if oppositeChar in VALUEPOST_CHARACTERS and not oppositeChar in extraction: suffixes.append( ("(?=%s)" % safeRegexLiteral(oppositeChar).replace("\$", ''), 1.0) ) return suffixes
def getPrefixPatterns(prefix): patterns = set() # if first if prefix == '': patterns.add(('^', 1.0)) return patterns multiline = '\n' in prefix # !!! maybe need to add (?is) to p for p in getLiteralPrefixRegexes(prefix, multiline): patterns.add((p, 1.0)) for p in generateSimpleRegexes(prefix, True, multiline): patterns.add((p, 1.0)) for p in getPrefixRegexes(prefix, multiline): patterns.add((p, 1.0)) patterns.add( (safeRegexLiteral(prefix[-1]).replace('\^', ''), 0.8) ) return patterns