如何解决在输出中也包括搜索到的正则表达式文本
我正在使用正则表达式 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 组捕获一个或多个数字 -
$
- 行尾。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。