如何在Python中搜索特定长度的字母数字子字符串?

时间:2015-09-30 03:50:41

标签: python regex

说我有一个字符串“ldhjshjds HdAjhdshj4 Hdsshj4 kdskjdshjdsjds”

我只想搜索以“H”开头的子串(仅限字母数字),但仅限于字符串介于10-20个字符之间。

“HdAjhdshj4”将是一场比赛。 “Hdsshj4”不会。

这样的正则表达式在CPU周期中是否会成本高昂?

3 个答案:

答案 0 :(得分:1)

r"\bH[A-Za-z0-9]{9,19}\b"正是在寻找。

答案 1 :(得分:0)

使用负面外观。

re.findall(r'(?<!\S)H[A-Za-z0-9]{9,19}(?!\S)', s)

DEMO

答案 2 :(得分:0)

您可以使用lookarounds

执行此操作
re.findall(r'(?:^|(?<=\s))H[A-Za-z0-9]{9,19}(?=\s|$)', s)