我试图将Regex substring one mismatch in any location of string转为大数据,我可以:
匹配大子字符串的所有实例,例如SSQPSPSQSSQPSS
(并允许此子字符串中只有一个可能的不匹配)到更大的字符串,例如SSPQQQQPSSSSQQQSSQPSPSQSSQPSSQPPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQSPSSQSSQPSS
。
实际上,我的子串和我匹配的字符串是数百甚至数千个字母,我希望将不匹配的可能性纳入其中。
如何扩展Regex substring one mismatch in any location of string的正则表达式以解决我的大数据问题?有没有一种有效的方法来解决这个问题?
答案 0 :(得分:0)
你可以试试这个,
>>> s = "SSPQQQQPSSSSQQQSSQPSPSQSSQPSSQPPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQSPSSQSSQPSS"
>>> re.findall(r'(?=(SSQPSPSQSSQPSS|[A-Z]SQPSPSQSSQPSS|S[A-Z]QPSPSQSSQPSS|SS[A-Z]PSPSQSSQPSS))', s)
['SSQPSPSQSSQPSS', 'SSQPSPSQSSQPSS', 'SSQPSPSQSSQPSS', 'SSQPSPSQSSQPSS']
Likwise添加模式,用[A-Z]
替换剩余的字符。