在Python中扩展大字符串上的正则表达式

时间:2015-07-12 05:00:00

标签: python regex string pattern-matching string-matching

我试图将Regex substring one mismatch in any location of string转为大数据,我可以:

匹配大子字符串的所有实例,例如SSQPSPSQSSQPSS(并允许此子字符串中只有一个可能的不匹配)到更大的字符串,例如SSPQQQQPSSSSQQQSSQPSPSQSSQPSSQPPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQPSPSQSSQPSSSSQSPSSQSSQPSS

实际上,我的子串和我匹配的字符串是数百甚至数千个字母,我希望将不匹配的可能性纳入其中。

如何扩展Regex substring one mismatch in any location of string的正则表达式以解决我的大数据问题?有没有一种有效的方法来解决这个问题?

1 个答案:

答案 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]替换剩余的字符。