捕获捕获组中的第一次迭代,然后捕获量词(序列中的第一个字符)

时间:2017-09-14 23:28:29

标签: python regex

使用此示例正则表达式:

([hi]){2,}

和此示例文字:

hiiii

我希望捕获组包含序列的第一个字符(h) - 但它只捕获最后一个(i })与当前的正则表达式。如何修改它以捕获第一个?

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是将其与序列的其余部分隔离开来 -

([hi])[hi]+

在这里,您可以捕获第一个hi,然后是一个或多个(总共2个或更多)hi

>>> re.findall('([hi])[hi]+', 'hiiii')
['h']

答案 1 :(得分:0)

你可以试试这个:

import re
s = "hiiii"     
print(''.join(re.findall("^\w|\w$", s)))

输出:

hi