[英]python re.findall() with list
我有一個長字符串(例如AAAABBBBCCCC),我最終想要找到不同子串列表中每個成員的所有重疊事件(例如['AAA','AAB','ABB','BBB'])。
我發現了一個關於之前StackOverflow發布的非常有用的建議 - 具有重疊事件的字符串計數但是,使用這個我似乎無法以re.findall()可以識別它們的方式分配子字符串。 這可能是一些愚蠢的事情,但我似乎無法弄明白。 好像是?
正在做一些與平常不同的事情......
>>> string = 'AAAABBBBCCCC'
>>> len(re.findall('(?=AAA)', string))
2
>>> substring = 'AAA'
>>> len(re.findall('(?=substring)', string))
0
>>> substring = "'(?=AAA)'"
>>> len(re.findall(substring, string))
0
>>> #This works, but is not overlapping:
>>> substring = 'AAA'
>>> len(re.findall(substring, string))
1
我很感激任何建議! 謝謝!
如果我理解正確,你想分配一個變量並在findall
函數中使用它?
>>> substring = '(?=AAA)' #or "(?=AAA)"
>>> len(re.findall(substring, string))
>>> 2
看看這對你的其余部分是否有幫助,你的第5行是字符串子字符串而不是變量子字符串。
import re
string = 'AAAABBBBCCCC'
len(re.findall('(?=AAA)', string))
2
substring = 'AAA'
len(re.findall('(?=' + substring + ')', string))
2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.