假设我有一个像123456789
这样的字符串。有没有办法从给定的字符串中找到每个可能存在的模式,如此
1234
,2345
,3456
,4567
,5678
,6789
使用regex
我这样做但无法找出解决方案:
import re
regex = r"[1-9]{4}"
test_string = "123456789"
print(re.findall(regex, test_str))
此输出:
['1234', '5678']
任何帮助都对我意义重大,谢谢
答案 0 :(得分:3)
你可以试试这个正则表达式:
\d(?=(\d{3}))
示例来源(Run here)
import re
regex = r"\d(?=(\d{3}))"
test_str = "123456789"
matches = re.finditer(regex, test_str)
for match in matches:
print(match.group()+match.group(1));