python - 使用正则表达式验证章节标题
问题描述
我有一些标题列表,我需要知道它们是否有效。
我正在尝试这个的一些变化 -^\d{1}\.\d
我的清单是这样的:
有效 - 这需要是一个有效的标题
1.1.1 - Abreviaturas utilizadas
1.10.6.7 - VII - Situações
1.11.2 - Membros
无效 - 我的正则表达式无法将其设置为有效标题
3.5452/2012
9.8
你认为可以用正则表达式映射这个问题吗?
我的想法是一个正则表达式,它捕获任意数量的数字,后跟一个点,直到找到一个空格和一个破折号(-)。
解决方案
您可以使用
^\d+(?:\.\d+)*[ \t]+-[ \t]+.*
匹配这些行。请参阅正则表达式演示。.*
如果您只需要检查该行是否匹配,您可以删除。
细节
^
- 字符串的开头(如果re.M
使用,则为行)\d+
- 1+ 位数(?:\.\d+)*
- 0+ 序列.
和 1+ 数字[ \t]+
- 1 个或多个空格或制表符-
- 一个连字符[ \t]+
- 1 个或多个空格或制表符.*
- 尽可能多的除换行符以外的任何 0+ 字符
推荐阅读
- javascript - 获得一个通过发出的下一个值解决的承诺
- laravel - 单选按钮未在 laravel Dusk 中选择
- asp.net - 多选复选框列表的级联
- ios - 如何从 App Store Connect 中删除自动创建的 macOS 应用程序
- php - PHP chrome-php / 无头铬-php
- winforms - Winforms Datagridview MultiSelect 选项未按预期工作
- javascript - 在 HTML 中自动添加或删除类
- sql - 替换不在 SQL 中做我需要的事情
- ios - 如何在无需用户注册的情况下将数据永久存储在服务器上
- java - 使用 Java 8 对 LocalDateTime 对象进行分组