一个字符串中多个1+连续字符的Python正则表达式

2024-04-18 17:48:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要找到长度可变的字符序列的起始和结束位置,这些字符在字符串中由相同的1个字母组成。 我看到了这个主题Finding multiple occurrences of a string within a string in Python,但我觉得有点不对劲。你知道吗

下面什么也没有给我,而我希望找到5个元素。你知道吗

import re
s = 'aaaaabaaaabaaabaaba'
pattern = '(a)\1+'
for el in re.finditer(pattern, s):
    print 'str found', el.start(), el.end()

提前谢谢。你知道吗


Tags: of字符串inre主题string字母序列
1条回答
网友
1楼 · 发布于 2024-04-18 17:48:55

因为它是正则表达式,所以反斜杠应该而不是在字符串级别转义,但是应该由正则表达式解释。你知道吗

可以使用原始字符串:

import re
s = 'aaaaabaaaabaaabaaba'
pattern = r'(a)\1+'   # raw string
for el in re.finditer(pattern, s):
    print 'str found', el.start(), el.end()

这会产生:

str found 0 5
str found 6 10
str found 11 14
str found 15 17

相关问题 更多 >