2024-09-29 19:06:51 发布
网友
我试着让这个正则表达式同时选择7gh和7ui,但我只能让它选择第一个。如果有人知道如何修改regex,以便它也选择7ui,我将非常感谢。我还要指出,我指的是用空格隔开的字符串。你知道吗
b = re.search(r'^7\w+','7gh ghj 7ui') c = b.group()
您需要删除^(字符串锚定的开始)并使用^{}查找字符串中模式的所有不重叠匹配:
^
import re res = re.findall(r'7\w+','7gh ghj 7ui') print(res)
参见Python demo
如果需要将这些子字符串作为整单词,请用单词边界\b将模式括起来:
\b
res = re.findall(r'\b7\w+\b','7gh ghj 7ui')
你可能会发现不使用regex更容易
[s for s in my_string.split() if s.startswith('7')]
删除^并使用findall():
findall()
>>> re.findall(r'7\w+','7gh ghj 7ui') ['7gh', '7ui']
您需要删除} 查找字符串中模式的所有不重叠匹配:
^
(字符串锚定的开始)并使用^{参见Python demo
如果需要将这些子字符串作为整单词,请用单词边界
\b
将模式括起来:你可能会发现不使用regex更容易
删除
^
并使用findall()
:相关问题 更多 >
编程相关推荐