在输出中也包含搜索到的正则表达式文本
include searched regex text also in output
我正在使用正则表达式 re.findall(r"[0-9]+(.*?)\.\s(.*?)[0-9]+", text)
获取下方文本
8 EXT./INT. MONORAIL - MORNING 8
9 EXT. CITY SCAPE/MONORAIL - CONTINUOUS 9
但是我当前的输出没有前缀和后缀数字。我正在尝试在输出中也包含前缀数字,如下所示。
9 EXT. CITY SCAPE/MONORAIL - CONTINUOUS
非常感谢任何帮助!提前致谢。
(当前输出如下)
您可以使用
(?m)^([0-9]+)\s*(.*?)\.\s(.*?)(?:\s*([0-9]+))?$
见regex demo。 *详情:
(?m)
- 多行修饰符
^
- 字符串开头
([0-9]+)
- 第 1 组:一个或多个数字
\s*
- 零个或多个空格
(.*?)
- 第 2 组:除换行字符外的零个或多个字符尽可能少
\.\s
- 一个点和一个空格
(.*?)
- 第 3 组:除换行字符外的零个或多个字符尽可能少
(?:\s*([0-9]+))?
- 可选出现零个或多个空格,然后第 4 组捕获一个或多个数字
$
- 行尾。
我正在使用正则表达式 re.findall(r"[0-9]+(.*?)\.\s(.*?)[0-9]+", text)
获取下方文本
8 EXT./INT. MONORAIL - MORNING 8
9 EXT. CITY SCAPE/MONORAIL - CONTINUOUS 9
但是我当前的输出没有前缀和后缀数字。我正在尝试在输出中也包含前缀数字,如下所示。
9 EXT. CITY SCAPE/MONORAIL - CONTINUOUS
非常感谢任何帮助!提前致谢。
(当前输出如下)
您可以使用
(?m)^([0-9]+)\s*(.*?)\.\s(.*?)(?:\s*([0-9]+))?$
见regex demo。 *详情:
(?m)
- 多行修饰符^
- 字符串开头([0-9]+)
- 第 1 组:一个或多个数字\s*
- 零个或多个空格(.*?)
- 第 2 组:除换行字符外的零个或多个字符尽可能少\.\s
- 一个点和一个空格(.*?)
- 第 3 组:除换行字符外的零个或多个字符尽可能少(?:\s*([0-9]+))?
- 可选出现零个或多个空格,然后第 4 组捕获一个或多个数字$
- 行尾。