如何在python中编写一个regex来挑选以特定numb开头的所有字符串

2024-09-29 19:06:51 发布

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

我试着让这个正则表达式同时选择7gh和7ui,但我只能让它选择第一个。如果有人知道如何修改regex,以便它也选择7ui,我将非常感谢。我还要指出,我指的是用空格隔开的字符串。你知道吗

b = re.search(r'^7\w+','7gh ghj 7ui')
c = b.group()

Tags: 字符串researchgroupregex空格ghj
3条回答

您需要删除^(字符串锚定的开始)并使用^{}查找字符串中模式的所有不重叠匹配:

import re
res = re.findall(r'7\w+','7gh ghj 7ui')
print(res)

参见Python demo

如果需要将这些子字符串作为整单词,请用单词边界\b将模式括起来:

res = re.findall(r'\b7\w+\b','7gh ghj 7ui')

你可能会发现不使用regex更容易

[s for s in my_string.split() if s.startswith('7')]

删除^并使用findall()

>>> re.findall(r'7\w+','7gh ghj 7ui')
['7gh', '7ui']

相关问题 更多 >

    热门问题