使用正则表达式验证节标题

时间:2018-07-06 15:47:52

标签: python regex

我有一些标题列表,我需要知道它们是否有效。

我正在尝试对此版本进行一些更改-^\d{1}\.\d

我的列表是这样的:

有效-这必须是有效的标题

1.1.1 -  Abreviaturas utilizadas
1.10.6.7 - VII - Situações
1.11.2 - Membros

无效-我的正则表达式无法将其设置为有效标题

3.5452/2012
9.8

您认为使用正则表达式可以解决此问题吗?

我的想法是一个正则表达式,它捕获任意数量的数字,后跟一个点,直到找到一个空白和一个破折号(-)。

我的测试:https://regex101.com/r/bjTptv/3

1 个答案:

答案 0 :(得分:1)

您可以使用

^\d+(?:\.\d+)*[ \t]+-[ \t]+.*

以匹配这些行。请参见regex demo。如果您只需要检查行是否匹配,则可以删除.*

详细信息

  • ^-字符串的开头(如果使用re.M,则为行的开头)
  • \d+-1个以上数字
  • (?:\.\d+)*-0+个.和1+个数字
  • [ \t]+-1个或多个空格或制表符
  • --连字符
  • [ \t]+-1个或多个空格或制表符
  • .*-尽可能多的0+字符(换行符除外)