我有一些标题列表,我需要知道它们是否有效。
我正在尝试对此版本进行一些更改-^\d{1}\.\d
我的列表是这样的:
有效-这必须是有效的标题
1.1.1 - Abreviaturas utilizadas
1.10.6.7 - VII - Situações
1.11.2 - Membros
无效-我的正则表达式无法将其设置为有效标题
3.5452/2012
9.8
您认为使用正则表达式可以解决此问题吗?
我的想法是一个正则表达式,它捕获任意数量的数字,后跟一个点,直到找到一个空白和一个破折号(-)。
答案 0 :(得分:1)
您可以使用
^\d+(?:\.\d+)*[ \t]+-[ \t]+.*
以匹配这些行。请参见regex demo。如果您只需要检查行是否匹配,则可以删除.*
。
详细信息
^
-字符串的开头(如果使用re.M
,则为行的开头)\d+
-1个以上数字(?:\.\d+)*
-0+个.
和1+个数字[ \t]+
-1个或多个空格或制表符-
-连字符[ \t]+
-1个或多个空格或制表符.*
-尽可能多的0+字符(换行符除外)