解析字符串以提取具有字母起始字符和未知长度的分隔单元

2024-09-29 21:20:48 发布

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

我是python正则表达式的新手,如果有任何帮助,我将不胜感激。提前谢谢。在

我有这个 string = "Restaurant_Review-g503927-d3864736-Reviews"

我想从中提取'g503927'和'd3864736'。在

我知道你可以用re.match(pattern, string, flags=0)

但不知道如何为它编写正则表达式。Plz帮助


Tags: restringmatchrestaurantreviewflagspatternreviews
3条回答

这应该行得通

import re
pattern = re.compile("[a-z][0-9]+")

一个非正则表达式的解决方案,但它取决于划分单元的内容,这里我假设它是-

s = "Restaurant_Review-g503927-d3864736-Reviews"
outputs = [i for i in s.split('-') if i[0].isalpha() and i[1:].isdigit()]

使用re.findall

>>> s = "Restaurant_Review-g503927-d3864736-Reviews"
>>> re.findall('[a-z]\d+', s)
['g503927', 'd3864736']

[a-z]\d+匹配后跟数字的小写字母表。在

相关问题 更多 >

    热门问题